(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."
(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)
(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)
:group 'view)
(defcustom view-inhibit-help-message nil
- "Non-nil inhibits the help message shown upon entering View mode."
+ "Non-nil inhibits the help message shown upon entering View mode.
+This setting takes effect only when View mode is entered via an
+interactive command; otherwise the help message is not shown."
:type 'boolean
:group 'view
:version "22.1")
(unless view-mode
(view-mode 1)
- (unless view-inhibit-help-message
+ (when (and (not view-inhibit-help-message)
+ ;; Avoid spamming the echo area if `view-mode' is entered
+ ;; non-interactively, e.g., in a temporary buffer (bug#44629).
+ this-command)
(message "%s"
(substitute-command-keys "\
View mode: type \\[help-command] for help, \\[describe-mode] for commands, \\[View-quit] to quit.")))))