Обратите внимание на инструкцию STRTR-- Описание string strtr (string $ str, string $ from, string $ to) string strtr (string $ str, array $ replace_pairs) Если заданы три аргумента, эта функция возвращает копию str где. ..
STR_REPLACE-- ... Если поиск или замена являются массивами, их элементы обрабатываются в первую очередь. ...
STRTR каждый поворот НЕ действует для следующего, НО STR_REPLACE делает.
От документация :
(get-buffer name) Return the buffer named name (a string). If there is no live buffer named name, return nil. name may also be a buffer; if so, the value is that buffer. (get-buffer-create name) Return the buffer named name, or create such a buffer and return it. A new buffer is created if there is no live buffer named name. If name starts with a space, the new buffer does not keep undo information. If name is a buffer instead of a string, then it is the value returned. The value is never nil.
Если вы хотите определить свою гипотетическую функцию, как указано выше, это работает:
(defun buffer-exists (bufname) (not (eq nil (get-buffer bufname))))
Я использую это для автоматического закрытия * царапин *
буфер на запуск, поэтому мне не нужно вело Через него в моем списке буферов, следующим образом:
(defun buffer-exists (bufname) (not (eq nil (get-buffer bufname))))
(if (buffer-exists "*scratch*") (kill-buffer "*scratch*"))