diff options
| author | Glenn Morris | 2013-09-17 00:39:54 -0700 |
|---|---|---|
| committer | Glenn Morris | 2013-09-17 00:39:54 -0700 |
| commit | 90582f05bc41bb832716926be1593c66b8219151 (patch) | |
| tree | 3d611c640a9fe398573933b46d4125ee44a61a59 /src | |
| parent | 33b83dd70c242357e542278b9d011f2c545d1f77 (diff) | |
| download | emacs-90582f05bc41bb832716926be1593c66b8219151.tar.gz emacs-90582f05bc41bb832716926be1593c66b8219151.zip | |
Add a major-mode for the *Messages* buffer
Ref: http://lists.gnu.org/archive/html/emacs-devel/2010-02/msg00135.html
* lisp/simple.el (messages-buffer-mode): New major mode.
(messages-buffer): New function.
* lisp/startup.el (normal-top-level): Switch mode of *Messages* buffer.
* src/xdisp.c (message_dolog): If we create *Messages*,
switch it to messages-buffer-mode.
* lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation)
(ert-run-test): Use `message-buffer' function.
(ert--force-message-log-buffer-truncation): Ignore read-only.
* lisp/help.el (view-echo-area-messages): Use `message-buffer' function.
* lisp/mail/emacsbug.el (report-emacs-bug): Use `message-buffer' function.
* lisp/gnus/gnus-util.el (gnus-message-with-timestamp-1):
Use `message-buffer' function if available. Ignore read-only.
* etc/NEWS: Mention this.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xdisp.c | 18 |
2 files changed, 20 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b4ec77780e4..00b59e89e67 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-09-17 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (message_dolog): If we create *Messages*, | ||
| 4 | switch it to messages-buffer-mode. | ||
| 5 | |||
| 1 | 2013-09-17 Paul Eggert <eggert@cs.ucla.edu> | 6 | 2013-09-17 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 7 | ||
| 3 | Don't overuse 'const' in types of locals. | 8 | Don't overuse 'const' in types of locals. |
diff --git a/src/xdisp.c b/src/xdisp.c index 4582002fa0e..b07aad51bc9 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | /* Display generation from window structure and buffer text. | 1 | /* Display generation from window structure and buffer text. |
| 2 | 2 | ||
| 3 | Copyright (C) 1985-1988, 1993-1995, 1997-2013 Free Software Foundation, | 3 | Copyright (C) 1985-1988, 1993-1995, 1997-2013 Free Software Foundation, Inc. |
| 4 | Inc. | ||
| 5 | 4 | ||
| 6 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 7 | 6 | ||
| @@ -9538,7 +9537,20 @@ message_dolog (const char *m, ptrdiff_t nbytes, bool nlflag, bool multibyte) | |||
| 9538 | 9537 | ||
| 9539 | old_deactivate_mark = Vdeactivate_mark; | 9538 | old_deactivate_mark = Vdeactivate_mark; |
| 9540 | oldbuf = current_buffer; | 9539 | oldbuf = current_buffer; |
| 9541 | Fset_buffer (Fget_buffer_create (Vmessages_buffer_name)); | 9540 | |
| 9541 | /* Ensure the Messages buffer exists, and switch to it. | ||
| 9542 | If we created it, set the major-mode. */ | ||
| 9543 | { | ||
| 9544 | int newbuffer = 0; | ||
| 9545 | if (NILP (Fget_buffer (Vmessages_buffer_name))) newbuffer = 1; | ||
| 9546 | |||
| 9547 | Fset_buffer (Fget_buffer_create (Vmessages_buffer_name)); | ||
| 9548 | |||
| 9549 | if (newbuffer && | ||
| 9550 | !NILP (Ffboundp (intern ("messages-buffer-mode")))) | ||
| 9551 | call0 (intern ("messages-buffer-mode")); | ||
| 9552 | } | ||
| 9553 | |||
| 9542 | bset_undo_list (current_buffer, Qt); | 9554 | bset_undo_list (current_buffer, Qt); |
| 9543 | 9555 | ||
| 9544 | oldpoint = message_dolog_marker1; | 9556 | oldpoint = message_dolog_marker1; |