Qual é a função do parâmetro de quadro da lista de buffers enterrados no Emacs
Pergunta
No emacs, li o seguinte trecho de código em simple.el
:
(frame-parameter frame 'buried-buffer-list)
Qual é o significado exato do 'buried-buffer-list
parâmetro?Para que é usado?
Solução
O resultado de M-x descreve a função RET frame-parameter é:
O parâmetro de quadro é uma função interna.
(frame-parameter FRAME PARAMETER)
O valor do quadro de retorno para o parâmetro parâmetro.Se o quadro estiver nulo, descreva o quadro atualmente selecionado.
Além disso, dê uma olhada no manual de informações do Elisp para o nó chamado "Quadro/Parâmetros de quadro".Não há uma referência específica à 'lista de buffers enterrados que eu possa encontrar.
Você pode obter o valor avaliando:
(cdr (frame-parameter FRAME 'buffer-list))
já que um "buffer enterrado" é apenas um buffer que foi colocado no final da lista de buffers de um quadro específico.Consulte a documentação para bury-buffer
:
bury-buffer é uma função Lisp compilada interativa em `window.el'.
(bury-buffer e opcional BUFFER-OR-NAME)
Coloque BUFFER-OR-NAME no final da lista de todos os buffers.Lá está o candidato menos provável para que o 'outro buffer' retorne;Assim, o buffer menos provável para CX B selecionar por padrão.
Você pode especificar um nome de buffer como buffer-ou-name ou um objeto buffer real.Se BUFFER-OR-NAME for nulo ou omitido, enterre o buffer atual.Além disso, se o buffer ou o nome for nulo ou omitido, remova o buffer atual da janela selecionada se for exibida lá.
Outras dicas
Uma rápida olhada http://www.update.uu.se/~ams/slask/emacs/src/frame.h retorna:
List of buffers that were viewed, then buried in this frame. The
most recently buried buffer is first.
Então, em teoria, você pode usar o cdr para obter a mesma lista que Ben Collins disse.