Depende *Messages*
mucho del búfer, pero las entradas no tienen fecha y hora.
¿Cómo se puede agregar una marca de tiempo a cada entrada en el búfer de mensajes de Emacs ?
Entonces algo como esto:
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]
se convertirá en algo como esto:
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]
Busqué en EmacsWiki, Reddit y emacs.sx, por supuesto, en vano.
Soy consciente de command-log-mode
que se puede ajustar para iniciar sesión con marcas de tiempo, pero es útil solo para comandos interactivos, no para todos los mensajes, incluidos los del "sistema" de Emacs.
En cambio, cada mensaje registrado en el búfer de Mensajes debe tener una marca de tiempo.
¿Cómo se puede agregar una marca de tiempo a cada entrada en el búfer de mensajes de Emacs , sin importar su origen?
after-change-functions
(en el búfer de mensajes) para implementar eso. Siempre que se inserte algo al final del búfer, coloque un prefijo en él.
message
comando se implementa en C y es probable que tenga llamadas directas, por lo que no podrá asegurarse de que cada mensaje registrado reciba una marca de tiempo sin construir Emacs usted mismo. Dicho esto, es posible que pueda aconsejar almessage
comando que introduzca una marca de tiempo cuando se lo llame desde Elisp. Se requiere cierta precaución:message
se puede llamar sin argumentos, una cadena de formato vacía, etc. También debe evitar un bucle recursivo si su propio aviso de marca de tiempo invocamessage
alguna ruta de código.