Какова роль параметра фрейма buried-buffer-list в Emacs? - PullRequest
5 голосов
/ 29 августа 2008

В emacs я прочитал следующий фрагмент кода в simple.el:

(frame-parameter frame 'buried-buffer-list)

Каково точное значение параметра 'buried-buffer-list? Для чего он используется?

Ответы [ 2 ]

1 голос
/ 01 сентября 2008

Быстрый просмотр http://www.update.uu.se/~ams/slask/emacs/src/frame.h возвращает:

List of buffers that were viewed, then buried in this frame.  The
most recently buried buffer is first.  

Так что теоретически вы можете использовать cdr для получения того же списка, что и Бен Коллинз.

1 голос
/ 29 августа 2008

Результат M-x описания функции RET frame-параметр :

frame-параметр является встроенным функция.

(frame-parameter FRAME PARAMETER)

Возвращает значение FRAME для параметра ПАРАМЕТР. Если FRAME равен нулю, опишите текущий выбранный кадр.

Также обратитесь к руководству по информации Elisp для узла под названием «Параметры кадра / кадра» . Нет конкретной ссылки на 'buried-buffer-list, которую я мог бы найти.

Вы можете получить его значение, оценив:

(cdr (frame-parameter FRAME 'buffer-list))

, поскольку «скрытый буфер» - это просто буфер, который помещается в конец списка буферов для определенного кадра. См. Документацию для bury-buffer:

bury-buffer - это интерактивная скомпилированная функция Lisp в `window.el '.

(скрытый буфер и необязательное имя буфера)

Поместите BUFFER-OR-NAME в конец списка всех буферов. Вот оно наименее вероятный кандидат на возврат «другого буфера»; Таким образом наименее вероятный буфер для C-x b для выбора по умолчанию.

Вы можете указать имя буфера как BUFFER-OR-NAME или фактический буфер объект. Если BUFFER-OR-NAME не задан или отсутствует, скрыть текущий буфер. Кроме того, если BUFFER-OR-NAME равен nil или опущен, удалите текущий буфер из выбранного окна, если оно там отображается.

...