Имена буферов
Каждый буфер имеет уникальное имя, которое представляет собой строку. Многие функции, работающие с буферами, принимают в качестве аргумента либо буфер, либо имя буфера. Любой аргумент, называемый buffer-or-name, имеет такой тип, и ошибка сигнализируется, если он не является ни строкой, ни буфером. Любой аргумент, называемый buffer, должен быть фактическим объектом буфера, а не именем.
Буферы, которые являются временными и, как правило, не представляют интереса для пользователя, имеют имена, начинающиеся с пробела, так что команды list-buffers и buffer-menu не упоминают их (но если такой буфер посещает файл, он указывается). Имя, начинающееся с пробела, также изначально отключает запись информации о выполнении отката; см. Откат.
- Функция: buffer-name &optional buffer
-
Эта функция возвращает имя buffer в виде строки. buffer по умолчанию — текущий буфер.
Если
buffer-nameвозвращаетnil, это означает, что buffer был убит. См. Уничтожение буферов.(buffer-name) ⇒ "buffers.texi"(setq foo (get-buffer "temp")) ⇒ #<buffer temp>(kill-buffer foo) ⇒ nil(buffer-name foo) ⇒ nilfoo ⇒ #<killed buffer>
- Команда: rename-buffer newname &optional unique
-
Эта функция переименовывает текущий буфер на newname. Ошибка сигнализируется, если newname не является строкой.
Обычно
rename-bufferсигнализирует об ошибке, если newname уже используется. Однако, если unique неnil, она изменяет newname для создания имени, которое не используется. В интерактивном режиме вы можете сделать unique неnilс числовым префиксом аргумента. (Так реализована командаrename-uniquely).Эта функция возвращает фактически присвоенное имя буфера.
- Функция: get-buffer buffer-or-name
-
Эта функция возвращает буфер, указанный buffer-or-name. Если buffer-or-name — строка, и нет буфера с таким именем, значение равно
nil. Если buffer-or-name — буфер, он возвращается как есть; это не очень полезно, поэтому аргумент обычно является именем. Например:(setq b (get-buffer "lewis")) ⇒ #<buffer lewis>(get-buffer b) ⇒ #<buffer lewis>(get-buffer "Frazzle-nots") ⇒ nilСм. также функцию
get-buffer-createв Создание буферов.
- Функция: generate-new-buffer-name starting-name &optional ignore
-
Эта функция возвращает имя, которое было бы уникальным для нового буфера — но не создает буфер. Она начинается с starting-name и генерирует имя, которое в данный момент не используется для какого-либо буфера, добавляя число внутри ‘<…>’. Она начинается с 2 и продолжает увеличивать число до тех пор, пока это не будет имя существующего буфера.
Если необязательный второй аргумент ignore не
nil, он должен быть строкой, потенциальным именем буфера. Это означает, что этот потенциальный буфер будет рассматриваться как приемлемый, если он будет проверен, даже если это имя существующего буфера (что обычно отклоняется). Таким образом, если существуют буферы с именами ‘foo’, ‘foo<2>’, ‘foo<3>’ и ‘foo<4>’,(generate-new-buffer-name "foo") ⇒ "foo<5>" (generate-new-buffer-name "foo" "foo<3>") ⇒ "foo<3>" (generate-new-buffer-name "foo" "foo<6>") ⇒ "foo<5>"См. связанную функцию
generate-new-bufferв Создание буферов.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Buffer-Names.html