summaryrefslogtreecommitdiff
path: root/lisp/simple.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-09-17 00:39:54 -0700
committerGlenn Morris <rgm@gnu.org>2013-09-17 00:39:54 -0700
commit90582f05bc41bb832716926be1593c66b8219151 (patch)
tree3d611c640a9fe398573933b46d4125ee44a61a59 /lisp/simple.el
parent33b83dd70c242357e542278b9d011f2c545d1f77 (diff)
downloademacs-90582f05bc41bb832716926be1593c66b8219151.tar.gz
emacs-90582f05bc41bb832716926be1593c66b8219151.tar.bz2
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 'lisp/simple.el')
-rw-r--r--lisp/simple.el12
1 files changed, 12 insertions, 0 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 593f36d1ee1..54630681a68 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -7344,6 +7344,18 @@ and setting it to nil."
buffer-invisibility-spec)
(setq buffer-invisibility-spec nil)))
+(define-derived-mode messages-buffer-mode special-mode "Messages"
+ "Major mode used in the \"*Messages*\" buffer.")
+
+(defun messages-buffer ()
+ "Return the \"*Messages*\" buffer.
+If it does not exist, create and it switch it to `messages-buffer-mode'."
+ (or (get-buffer "*Messages*")
+ (with-current-buffer (get-buffer-create "*Messages*")
+ (messages-buffer-mode)
+ (current-buffer))))
+
+
;; Minibuffer prompt stuff.
;;(defun minibuffer-prompt-modification (start end)