Имена буферов
У каждого буфера есть уникальное имя — строка. Многие функции, работающие с буферами, принимают в качестве аргумента буфер или его имя. Любой аргумент с именем 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в разделе Создание буферов.
- Функция: buffer-last-name &optional buffer
Эта функция возвращает предыдущее имя buffer, существовавшее до его уничтожения или до последнего переименования. Если аргумент опущен или равен nil, по умолчанию используется текущий буфер.
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Buffer-Names.html