summaryrefslogtreecommitdiff
path: root/lisp/jsonrpc.el
diff options
context:
space:
mode:
authorBasil L. Contovounesios <contovob@tcd.ie>2020-11-16 14:40:57 +0000
committerBasil L. Contovounesios <contovob@tcd.ie>2020-12-03 15:22:00 +0000
commit805d82197f050d1aba8fb796e604c55ce3d6333a (patch)
treec63d232f39e452a82691f65d695c0921cd582fed /lisp/jsonrpc.el
parent62fa6d19b3a43296119131fa3d3bad1704b6884c (diff)
downloademacs-805d82197f050d1aba8fb796e604c55ce3d6333a.tar.gz
Avoid spamming view-mode-enter help message
By default, entering view-mode echoes a usage message. This is particularly helpful with non-nil view-read-only, to notify the user that view-mode has been enabled. It is less useful and more spammy, however, if view-mode is (possibly inadvertently) entered from some non-interactive code running in the background, such as when a major mode is enabled in a temporary buffer for text formatting purposes (bug#44629). * lisp/jsonrpc.el (jsonrpc-events-buffer, initialize-instance): Use buffer-read-only in place of read-only-mode for non-interactive use. * lisp/view.el (view-mode-enter): Inhibit help message if either view-inhibit-help-message is non-nil, or view-mode-enter was called from an interactive command. Suggested by João Távora <joaotavora@gmail.com>.
Diffstat (limited to 'lisp/jsonrpc.el')
-rw-r--r--lisp/jsonrpc.el27
1 files changed, 13 insertions, 14 deletions
diff --git a/lisp/jsonrpc.el b/lisp/jsonrpc.el
index 0b3394080cc..1aebeae5e16 100644
--- a/lisp/jsonrpc.el
+++ b/lisp/jsonrpc.el
@@ -138,18 +138,15 @@ immediately."
(defun jsonrpc-events-buffer (connection)
"Get or create JSONRPC events buffer for CONNECTION."
- (let* ((probe (jsonrpc--events-buffer connection))
- (buffer (or (and (buffer-live-p probe)
- probe)
- (let ((buffer (get-buffer-create
- (format "*%s events*"
- (jsonrpc-name connection)))))
- (with-current-buffer buffer
- (buffer-disable-undo)
- (read-only-mode t)
- (setf (jsonrpc--events-buffer connection) buffer))
- buffer))))
- buffer))
+ (let ((probe (jsonrpc--events-buffer connection)))
+ (if (buffer-live-p probe)
+ probe
+ (with-current-buffer
+ (get-buffer-create (format "*%s events*" (jsonrpc-name connection)))
+ (buffer-disable-undo)
+ (setq buffer-read-only t)
+ (setf (jsonrpc--events-buffer connection)
+ (current-buffer))))))
(defun jsonrpc-forget-pending-continuations (connection)
"Stop waiting for responses from the current JSONRPC CONNECTION."
@@ -406,7 +403,7 @@ connection object, called when the process dies .")
(ignore-errors (kill-buffer hidden-name))
(rename-buffer hidden-name)
(process-put proc 'jsonrpc-stderr (current-buffer))
- (read-only-mode t))))
+ (setq buffer-read-only t))))
(setf (jsonrpc--process conn) proc)
(set-process-buffer proc (get-buffer-create (format " *%s output*" name)))
(set-process-filter proc #'jsonrpc--process-filter)
@@ -414,7 +411,9 @@ connection object, called when the process dies .")
(with-current-buffer (process-buffer proc)
(buffer-disable-undo)
(set-marker (process-mark proc) (point-min))
- (let ((inhibit-read-only t)) (erase-buffer) (read-only-mode t)))
+ (let ((inhibit-read-only t))
+ (erase-buffer))
+ (setq buffer-read-only t))
(process-put proc 'jsonrpc-connection conn)))
(cl-defmethod jsonrpc-connection-send ((connection jsonrpc-process-connection)