Eu dependo muito do *Messages*
buffer, mas as entradas não têm registro de data e hora.
Como adicionar um carimbo de data / hora a cada entrada no buffer de mensagens do Emacs ?
Então, algo assim:
Loading /Users/gsl/lisp.d/init.el (source)...
No outline structure detected
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading /Users/gsl/lisp.d/var/recentf...done
Error running timer: (wrong-number-of-arguments (lambda nil (setq gc-cons-threshold (* 64 1024 1024)) (message "WARNING: gc-cons-threshold restored to %S")) 1)
[yas] Prepared just-in-time loading of snippets successfully.
M-] is undefined
CHILDREN [2 times]
‘show-all’ is an obsolete command (as of 25.1); use ‘outline-show-all’ instead.
Invalid face reference: nil [33 times]
Auto-saving...done
Saving file /Users/gsl/lisp.d/init.el...
Wrote /Users/gsl/lisp.d/init.el
mwheel-scroll: Beginning of buffer [5 times]
Mark set
previous-line: Beginning of buffer [10 times]
Quit [4 times]
vai se tornar algo como isto:
2017-02-14-18:50:01 Loading /Users/gsl/lisp.d/init.el (source)...
2017-02-14-18:50:02 No outline structure detected
2017-02-14-18:50:03 For information about GNU Emacs and the GNU system, type C-h C-a.
2017-02-14-18:50:05 Loading /Users/gsl/lisp.d/var/recentf...done
2017-02-14-18:50:10 Error running timer: (wrong-number-of-arguments (lambda nil (setq gc-cons-threshold (* 64 1024 1024)) (message "WARNING: gc-cons-threshold restored to %S")) 1)
2017-02-14-18:50:12 [yas] Prepared just-in-time loading of snippets successfully.
2017-02-14-18:50:40 M-] is undefined
2017-02-14-18:50:41 CHILDREN [2 times]
2017-02-14-18:50:00 ‘show-all’ is an obsolete command (as of 25.1); use ‘outline-show-all’ instead.
2017-02-14-18:50:01 Invalid face reference: nil [33 times]
2017-02-14-18:51:01 Auto-saving...done
2017-02-14-18:51:03 Saving file /Users/gsl/lisp.d/init.el...
2017-02-14-18:51:06 Wrote /Users/gsl/lisp.d/init.el
2017-02-14-18:51:09 mwheel-scroll: Beginning of buffer [5 times]
2017-02-14-18:51:11 Mark set
2017-02-14-18:51:21 previous-line: Beginning of buffer [10 times]
Pesquisei no EmacsWiki, Reddit e emacs.sx, é claro, sem sucesso.
Estou ciente de command-log-mode
que pode ser ajustado para registrar com registros de data e hora, mas é útil apenas para comandos interativos, nem todas as mensagens, incluindo as do "sistema" do Emacs.
Em vez disso, todas as mensagens registradas no buffer de Mensagens devem ter registro de data e hora.
Como se pode adicionar um carimbo de data / hora a cada entrada no buffer de mensagens do Emacs , independentemente da sua origem?
after-change-functions
(no buffer de mensagens) para implementar isso. Sempre que algo for inserido no final do buffer, coloque um carimbo de data e hora nele.
message
comando é implementado em C e provavelmente possui chamadores diretos, portanto você não poderá garantir que todas as mensagens registradas recebam um carimbo de data / hora sem criar o Emacs. Dito isto, você pode aconselhar omessage
comando a introduzir um carimbo de data / hora quando for chamado pelo Elisp. É necessário algum cuidado:message
pode ser chamado sem argumentos, uma string de formato vazia etc. Você também deseja evitar um loop recursivo, caso o próprio conselho de registro de data e hora chamemessage
algum caminho de código.