From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.bugs Subject: bug#67393: 29.1; Slow to open file if autosave exists Date: Wed, 17 Jan 2024 18:48:57 +0200 Organization: LINKOV.NET Message-ID: <86y1cn29dy.fsf@mail.linkov.net> References: <83a5r5gdxk.fsf@gnu.org> <87frztc7iy.fsf@localhost> <867cl4kg4l.fsf@mail.linkov.net> <87cyuwdcb4.fsf@localhost> <868r5jse0m.fsf@mail.linkov.net> <83r0jbbg2z.fsf@gnu.org> <86a5pv508o.fsf@mail.linkov.net> <83h6k38s9g.fsf@gnu.org> <86bkaa7oaa.fsf@mail.linkov.net> <868r4pp74s.fsf@mail.linkov.net> <83zfx5b3vt.fsf@gnu.org> <865xztnphu.fsf@mail.linkov.net> <83y1cpaz7e.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8209"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) Cc: materus213@gmail.com, yantar92@posteo.net, 67393@debbugs.gnu.org, stefankangas@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jan 17 17:51:26 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rQ98P-0001yi-8P for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 17 Jan 2024 17:51:25 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rQ983-0001U9-KA; Wed, 17 Jan 2024 11:51:03 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQ981-0001Nl-9Y for bug-gnu-emacs@gnu.org; Wed, 17 Jan 2024 11:51:01 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rQ980-0003wD-SI for bug-gnu-emacs@gnu.org; Wed, 17 Jan 2024 11:51:00 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rQ981-0006Vq-TA for bug-gnu-emacs@gnu.org; Wed, 17 Jan 2024 11:51:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 17 Jan 2024 16:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67393 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: notabug Original-Received: via spool by 67393-submit@debbugs.gnu.org id=B67393.170551020924965 (code B ref 67393); Wed, 17 Jan 2024 16:51:01 +0000 Original-Received: (at 67393) by debbugs.gnu.org; 17 Jan 2024 16:50:09 +0000 Original-Received: from localhost ([127.0.0.1]:53162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQ979-0006UV-OM for submit@debbugs.gnu.org; Wed, 17 Jan 2024 11:50:09 -0500 Original-Received: from relay5-d.mail.gandi.net ([217.70.183.197]:39741) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQ976-0006Tp-34 for 67393@debbugs.gnu.org; Wed, 17 Jan 2024 11:50:05 -0500 Original-Received: by mail.gandi.net (Postfix) with ESMTPSA id 4983A1C0002; Wed, 17 Jan 2024 16:49:54 +0000 (UTC) In-Reply-To: <83y1cpaz7e.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 16 Jan 2024 20:51:49 +0200") X-GND-Sasl: juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:278395 Archived-At: --=-=-= Content-Type: text/plain > Then I think we should consider all of those changes together. Ok, here is a complete patch. >> Would it be safe to drop NODISP in the new function? >> I see that most calls of 'message' with 'sit-for' >> don't use the NODISP arg. > > I don't see a need to remove it, as one caller that uses it is enough > to justify it, and the price is hardly significant. The problem is that in most calls the argument NODISP is nil. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=important-message.patch diff --git a/etc/NEWS b/etc/NEWS index 939caed14f6..0754645bdc8 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1777,6 +1777,8 @@ The declaration '(important-return-value t)' sets the 'important-return-value' property which indicates that the function return value should probably not be thrown away implicitly. +** New function 'important-message' to display messages with a delay. + +++ ** New functions 'file-user-uid' and 'file-group-gid'. These functions are like 'user-uid' and 'group-gid', respectively, but diff --git a/lisp/allout.el b/lisp/allout.el index 95b73c54934..b00e256aaf1 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -1519,7 +1519,7 @@ allout-write-contents-hook-handler " %s") (buffer-name (current-buffer)) failure))) - (message text)(sit-for 2) + (important-message 2 nil text) text))))) )) ;;;_ > allout-after-saves-handler () @@ -1957,8 +1957,7 @@ allout-mode (buffer-name))) ;; Problem applying exposure -- notify user, but don't ;; interrupt, eg, file visit: - (error (message "%s" (car (cdr err))) - (sit-for 1)))) + (error (important-message 1 nil "%s" (car (cdr err)))))) ) ; when allout-layout ) ; if (allout-mode-p) ) ; let (()) diff --git a/lisp/desktop.el b/lisp/desktop.el index ff113c85e12..3587636271a 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el @@ -1373,8 +1373,8 @@ desktop-read (unless (eq (emacs-pid) owner) (condition-case nil (desktop-claim-lock) - (file-error (message "Couldn't record use of desktop file") - (sit-for 1)))) + (file-error (important-message + 1 nil "Couldn't record use of desktop file")))) (unless (desktop-restoring-frameset-p) ;; `desktop-create-buffer' puts buffers at end of the buffer list. @@ -1736,8 +1736,7 @@ desktop-idle-create-buffers (unless desktop-buffer-args-list (cancel-timer desktop-lazy-timer) (setq desktop-lazy-timer nil) - (message "Lazy desktop load complete") - (sit-for 3) + (important-message 3 nil "Lazy desktop load complete") (message ""))))) (defun desktop-lazy-complete () diff --git a/lisp/ebuff-menu.el b/lisp/ebuff-menu.el index 743b92578eb..86b5ce9367f 100644 --- a/lisp/ebuff-menu.el +++ b/lisp/ebuff-menu.el @@ -256,8 +256,7 @@ Electric-buffer-menu-mode-view-buffer (if bufnam (view-buffer bufnam) (ding) - (message "Buffer %s does not exist!" bufnam) - (sit-for 4)))) + (important-message 4 nil "Buffer %s does not exist!" bufnam)))) (defvar electric-buffer-overlay nil) diff --git a/lisp/electric.el b/lisp/electric.el index fee0bf36d7f..20327ed48f6 100644 --- a/lisp/electric.el +++ b/lisp/electric.el @@ -105,26 +105,22 @@ Electric-command-loop (buffer-read-only (if loop-function (setq err conditions) (ding) - (message "Buffer is read-only") - (sit-for 2))) + (important-message 2 nil "Buffer is read-only"))) (beginning-of-buffer (if loop-function (setq err conditions) (ding) - (message "Beginning of Buffer") - (sit-for 2))) + (important-message 2 nil "Beginning of Buffer"))) (end-of-buffer (if loop-function (setq err conditions) (ding) - (message "End of Buffer") - (sit-for 2))) + (important-message 2 nil "End of Buffer"))) (error (if loop-function (setq err conditions) (ding) - (message "Error: %s" + (important-message 2 nil "Error: %s" (if (eq (car conditions) 'error) (car (cdr conditions)) - (prin1-to-string conditions))) - (sit-for 2)))) + (prin1-to-string conditions)))))) (ding)) (if loop-function (funcall loop-function loop-state err)))) (ding) diff --git a/lisp/files.el b/lisp/files.el index 9c8914bfc50..f402dddf1c6 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2781,8 +2781,9 @@ after-find-file (unless (file-directory-p default-directory) "Use M-x make-directory RET RET to create the directory and its parents"))))) (when (and warn msg) - (message "%s" msg) - (or not-serious (sit-for 1 t)))) + (if not-serious + (message "%s" msg) + (important-message 1 t "%s" msg)))) (when (and auto-save-default (not noauto)) (auto-save-mode 1))) ;; Make people do a little extra work (C-x C-q) diff --git a/lisp/ido.el b/lisp/ido.el index 6e51dc67196..0e7934da59d 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -2015,8 +2015,7 @@ ido-read-internal (condition-case nil (progn (make-directory d t) t) (error - (message "Could not create directory") - (sit-for 1) + (important-message 1 nil "Could not create directory") nil)))) (progn (ido-set-current-directory d nil (eq ido-exit 'chdir)) diff --git a/lisp/info-look.el b/lisp/info-look.el index da7beafe500..8d79837fa2e 100644 --- a/lisp/info-look.el +++ b/lisp/info-look.el @@ -457,8 +457,7 @@ info-lookup (Info-goto-node node) (setq doc-found t))) (error - (message "Cannot access Info node %s" node) - (sit-for 1) + (important-message 1 nil "Cannot access Info node %s" node) nil)) (condition-case nil (progn @@ -569,8 +568,7 @@ info-lookup-make-completions (Info-goto-node node) (setq doc-found t)) (error - (message "Cannot access Info node `%s'" node) - (sit-for 1) + (important-message 1 nil "Cannot access Info node `%s'" node) nil)) (condition-case nil (progn diff --git a/lisp/info.el b/lisp/info.el index e56344825b9..b35e4edcaa3 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -3742,9 +3742,9 @@ Info-apropos-matches (setq nodes (cdr nodes) node (car nodes))) (Info-goto-node node)))) (error - (message "%s" (if (eq (car-safe err) 'error) - (nth 1 err) err)) - (sit-for 1 t))))) + (important-message + 1 t "%s" (if (eq (car-safe err) 'error) + (nth 1 err) err)))))) (Info-find-node current-file current-node) (setq Info-history ohist Info-history-list ohist-list) diff --git a/lisp/isearch.el b/lisp/isearch.el index 4cac79a3f4a..b7c774f08f4 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -2138,12 +2138,12 @@ isearch--momentary-message "Print STRING at the end of the isearch prompt for 1 second. The optional argument SECONDS overrides the number of seconds." (let ((message-log-max nil)) - (message "%s%s%s" - (isearch-message-prefix nil isearch-nonincremental) - isearch-message - (apply #'propertize (format " [%s]" string) - isearch-message-properties))) - (sit-for (or seconds 1))) + (important-message + (or seconds 1) nil "%s%s%s" + (isearch-message-prefix nil isearch-nonincremental) + isearch-message + (apply #'propertize (format " [%s]" string) + isearch-message-properties)))) (isearch-define-mode-toggle lax-whitespace " " nil "In ordinary search, toggles the value of the variable @@ -2777,8 +2777,7 @@ isearch-yank-until-char (search-forward (char-to-string char) nil nil arg) (forward-char -1)) (search-failed - (message "`%c' not found" char) - (sit-for 2))) + (important-message 2 nil "`%c' not found" char))) (point))))) (defun isearch-yank-line (&optional arg) diff --git a/lisp/proced.el b/lisp/proced.el index 3435f1ab8cd..9365df95b71 100644 --- a/lisp/proced.el +++ b/lisp/proced.el @@ -2131,8 +2131,7 @@ proced-send-signal ;; the command can be used more flexibly in noninteractive ways, too. (unless (get 'proced-send-signal 'proced-outdated) (put 'proced-send-signal 'proced-outdated t) - (message "Outdated usage of `proced-send-signal'") - (sit-for 2)) + (important-message 2 nil "Outdated usage of `proced-send-signal'")) (setq process-alist (proced-marked-processes)) (unless signal (let ((pnum (if (= 1 (length process-alist)) diff --git a/lisp/simple.el b/lisp/simple.el index 692c0dacefc..ece98ec109d 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -4794,6 +4794,14 @@ max-mini-window-lines ((integerp max-mini-window-height) max-mini-window-height) (t 1))) +(defun important-message (seconds nodisp format-string &rest args) + "Display an important message in the echo area. +Make sure that message stays displayed for the specified number of SECONDS. +The arguments SECONDS and NODISP are the same as in `sit-for'. +The arguments FORMAT-STRING and ARGS are the same as in `message'." + (apply #'message format-string args) + (sit-for seconds nodisp)) + (defun display-message-or-buffer (message &optional buffer-name action frame) "Display MESSAGE in the echo area if possible, otherwise in a pop-up buffer. MESSAGE may be either a string or a buffer. @@ -9772,10 +9780,11 @@ set-variable (t "globally")))) (val (progn (when obsolete - (message (concat "`%S' is obsolete; " - (if (symbolp obsolete) "use `%S' instead" "%s")) - var obsolete) - (sit-for 3)) + (important-message + 3 nil + (concat "`%S' is obsolete; " + (if (symbolp obsolete) "use `%S' instead" "%s")) + var obsolete)) (if prop ;; Use VAR's `variable-interactive' property ;; as an interactive spec for prompting. diff --git a/lisp/subr.el b/lisp/subr.el index df28989b399..d77d3ab25fe 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -3404,8 +3404,8 @@ read-passwd (setq success first)) (and (arrayp first) (clear-string first)) (and (arrayp second) (clear-string second)) - (message "Password not repeated accurately; please start over") - (sit-for 1)))) + (important-message + 1 nil "Password not repeated accurately; please start over")))) success) (let (minibuf) (minibuffer-with-setup-hook @@ -3469,8 +3469,7 @@ read-number ((stringp str) (read str)))) (error nil))) (unless (numberp n) - (message "Please enter a number.") - (sit-for 1) + (important-message 1 nil "Please enter a number.") t))) n)) diff --git a/lisp/tooltip.el b/lisp/tooltip.el index 4537fdf8087..d03073ec4c2 100644 --- a/lisp/tooltip.el +++ b/lisp/tooltip.el @@ -275,8 +275,7 @@ tooltip-show tooltip-x-offset tooltip-y-offset)) (error - (message "Error while displaying tooltip: %s" error) - (sit-for 1) + (important-message 1 nil "Error while displaying tooltip: %s" error) (message "%s" text))))) (declare-function x-hide-tip "xfns.c" ()) diff --git a/lisp/userlock.el b/lisp/userlock.el index db94bb214e6..72d5595770b 100644 --- a/lisp/userlock.el +++ b/lisp/userlock.el @@ -83,9 +83,10 @@ ask-user-about-lock (cond ((null answer) (beep) ;; FIXME: Why do we use "?" here and "C-h" below? - (message (substitute-command-keys - "Please type \\`q', \\`s', or \\`p'; or \\`?' for help")) - (sit-for 3)) + (important-message + 3 nil + (substitute-command-keys + "Please type \\`q', \\`s', or \\`p'; or \\`?' for help"))) ((eq (cdr answer) 'help) (ask-user-about-lock-help) (setq answer nil)) diff --git a/lisp/view.el b/lisp/view.el index 2ac7479739f..6f6bcfce2c3 100644 --- a/lisp/view.el +++ b/lisp/view.el @@ -900,9 +900,10 @@ view-search (overlay-put view-overlay 'face view-highlight-face) (beginning-of-line) (view-recenter)) - (message "Can't find occurrence %d of %s%s" - times (if no "no " "") regexp) - (sit-for 4)))) + (important-message + 4 nil + "Can't find occurrence %d of %s%s" + times (if no "no " "") regexp)))) ;; This is the dumb approach, looking at each line. The original ;; version of this function looked like it might have been trying to diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el index cf5ce1761a8..960c39feaf3 100644 --- a/lisp/cedet/semantic/bovine/c.el +++ b/lisp/cedet/semantic/bovine/c.el @@ -916,8 +916,7 @@ semantic-c-parse-lexical-token (format "There was an error initializing %s in buffer \"%s\". Debug your hooks? " mode (buffer-name))) (semantic-c-debug-mode-init mode) - (message "Macro parsing state may be broken...") - (sit-for 1)))) + (important-message 1 nil "Macro parsing state may be broken...")))) ) ; save match data ;; Hack in mode-local diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index 82c6c03a592..5871ae16b04 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el @@ -694,20 +694,17 @@ checkdoc-interactive-loop 'automatic-then-never))) (if (not fixed) (progn - (message "A Fix was not available.") - (sit-for 2)) + (important-message 2 nil "A Fix was not available.")) (setq err-list (cdr err-list)))) (beginning-of-defun) (let ((ne (funcall findfunc nil))) (if ne (setq err-list (cons ne err-list)) (cond ((not err-list) - (message "No More Stylistic Errors.") - (sit-for 2)) + (important-message 2 nil "No More Stylistic Errors.")) (t - (message - "No Additional style errors. Continuing...") - (sit-for 2)))))) + (important-message 2 nil + "No Additional style errors. Continuing...")))))) ;; Move to the next error (if available) ((memq c '(?n ?\s)) (let ((ne (funcall findfunc nil))) @@ -716,9 +713,8 @@ checkdoc-interactive-loop (setq returnme err-list err-list nil) (if (not err-list) - (message "No More Stylistic Errors.") - (message "No Additional style errors. Continuing...")) - (sit-for 2)) + (important-message 2 nil "No More Stylistic Errors.") + (important-message 2 nil "No Additional style errors. Continuing..."))) (setq err-list (cons ne err-list))))) ;; Go backwards in the list of errors ((memq c '(?p ?\C-?)) @@ -727,8 +723,7 @@ checkdoc-interactive-loop (setq err-list (cdr err-list)) (goto-char (cdr (car err-list))) (beginning-of-defun)) - (message "No Previous Errors.") - (sit-for 2))) + (important-message 2 nil "No Previous Errors."))) ;; Edit the buffer recursively. ((eq c ?e) (checkdoc-recursive-edit @@ -741,8 +736,7 @@ checkdoc-interactive-loop (if showstatus (setq returnme err-list err-list nil) - (message "No More Stylistic Errors.") - (sit-for 2)) + (important-message 2 nil "No More Stylistic Errors.")) (setq err-list (cons ne err-list))))) ;; Quit checkdoc ((eq c ?q) diff --git a/lisp/emacs-lisp/helper.el b/lisp/emacs-lisp/helper.el index 0446109f5ac..a4c1415e694 100644 --- a/lisp/emacs-lisp/helper.el +++ b/lisp/emacs-lisp/helper.el @@ -87,9 +87,9 @@ Helper-help-scroller (defun Helper-help-options () "Describe help options." (interactive) - (message (substitute-command-keys - "\\`c' (key briefly), \\`m' (mode), \\`k' (key), \\`b' (bindings)")) - (sit-for 4)) + (important-message + 4 nil (substitute-command-keys + "\\`c' (key briefly), \\`m' (mode), \\`k' (key), \\`b' (bindings)"))) (defun Helper-describe-key-briefly (key) "Briefly describe binding of KEY." diff --git a/lisp/emacs-lisp/map-ynp.el b/lisp/emacs-lisp/map-ynp.el index b603f2e6d0b..a26764b6e50 100644 --- a/lisp/emacs-lisp/map-ynp.el +++ b/lisp/emacs-lisp/map-ynp.el @@ -250,10 +250,10 @@ map-y-or-n-p (funcall try-again)) (t ;; Random char. - (message "Type %s for help." - (key-description (vector help-char))) (beep) - (sit-for 1) + (important-message + 1 nil "Type %s for help." + (key-description (vector help-char))) (funcall try-again)))) (prompt (funcall actor elt) @@ -372,8 +372,7 @@ read-answer (interactive) (delete-minibuffer-contents) (beep) - (message message) - (sit-for 2))) + (important-message 2 nil message))) map) read-answer-map--memoize)))) answer) @@ -415,8 +414,7 @@ read-answer answers-with-help ",\n") ".\n"))) (beep) - (message message) - (sit-for 2))) + (important-message 2 nil message))) answer)) ;;; map-ynp.el ends here diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 51c81b9d2f6..3afa33c3068 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -3254,13 +3254,13 @@ compilation-find-file (origname name)) (cond ((not (file-exists-p name)) - (message "Cannot find file `%s'" name) - (ding) (sit-for 2)) + (ding) + (important-message 2 nil "Cannot find file `%s'" name)) ((and (file-directory-p name) (not (file-exists-p (setq name (compilation--expand-fn name filename))))) - (message "No `%s' in directory %s" filename origname) - (ding) (sit-for 2)) + (ding) + (important-message 2 nil "No `%s' in directory %s" filename origname)) (t (setq buffer (find-file-noselect name)))))))) ;; Make intangible overlays tangible. diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 17af1f1d926..7c6aee1cbeb 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -2375,9 +2375,9 @@ ispell-command-loop ;; This may have alignment errors if current line is edited (if (marker-position ispell-recursive-edit-marker) (progn - (message "Only one recursive edit session supported") (beep) - (sit-for 2)) + (important-message + 2 nil "Only one recursive edit session supported")) (set-marker ispell-recursive-edit-marker start) ;;(set-marker ispell-region-end reg-end) (and ispell-highlight-p ; unhighlight @@ -2768,8 +2768,7 @@ ispell-parse-output (substring output 2)) ; return root word ((equal 0 (string-match "[\ra-zA-Z]" output)) (ding) ; error message from ispell! - (message "Ispell error: %s" output) - (sit-for 5) + (important-message 5 nil "Ispell error: %s" output) nil) (t ; need to process &, ?, and #'s (let ((type (aref output 0)) ; &, ?, or # @@ -3335,9 +3334,8 @@ ispell-tex-arg-end (while (looking-at "[ \t\n]*\\[") (forward-sexp)) (forward-sexp (or arg 1))) (error - (message "Error skipping s-expressions at point %d." (point)) (beep) - (sit-for 2)))) + (important-message 2 nil "Error skipping s-expressions at point %d." (point))))) (defun ispell-ignore-fcc (start end) @@ -3413,10 +3411,10 @@ ispell-skip-region (setq alist (cdr alist)))))) (if (and (= start (point)) (null null-skip)) (progn - (message "Matching region end for `%s' point %d not found" - key (point)) (beep) - (sit-for 2))))) + (important-message + 2 nil "Matching region end for `%s' point %d not found" + key (point)))))) (defun ispell-get-line (start end in-comment) @@ -4168,8 +4166,7 @@ ispell-buffer-local-parsing (ispell-send-string "-\n~nroff\n")) ((string-search "~" string) ; Set extended character mode. (ispell-send-string (concat string "\n"))) - (t (message "Invalid Ispell Parsing argument!") - (sit-for 2)))))))) + (t (important-message 2 nil "Invalid Ispell Parsing argument!")))))))) ;; Can kill the current ispell process diff --git a/lisp/vc/ediff-diff.el b/lisp/vc/ediff-diff.el index 83bd7cde12f..381d24f1c77 100644 --- a/lisp/vc/ediff-diff.el +++ b/lisp/vc/ediff-diff.el @@ -222,15 +222,15 @@ ediff-make-diff2-buffer (let ((file1-size (ediff-file-size file1)) (file2-size (ediff-file-size file2))) (cond ((not (numberp file1-size)) - (message "Can't find file: %s" - (ediff-abbreviate-file-name file1)) - (sit-for 2) + (important-message + 2 nil "Can't find file: %s" + (ediff-abbreviate-file-name file1)) ;; 1 is an error exit code 1) ((not (numberp file2-size)) - (message "Can't find file: %s" - (ediff-abbreviate-file-name file2)) - (sit-for 2) + (important-message + 2 nil "Can't find file: %s" + (ediff-abbreviate-file-name file2)) ;; 1 is an error exit code 1) (t ;; this erases the diff buffer automatically diff --git a/lisp/vc/ediff-ptch.el b/lisp/vc/ediff-ptch.el index f8d4c1c1c4b..431f6becc10 100644 --- a/lisp/vc/ediff-ptch.el +++ b/lisp/vc/ediff-ptch.el @@ -364,8 +364,7 @@ ediff-fixup-patch-map (setq directory nil) (setq directory t) (beep) - (message "%s is a directory" user-file) - (sit-for 2))) + (important-message 2 nil "%s is a directory" user-file))) (setcar (ediff-get-session-objA session-info) (cons user-file user-file)))) (setcar proposed-file-names @@ -478,8 +477,7 @@ ediff-fixup-patch-map (if (not (file-directory-p target)) (setq directory nil) (beep) - (message "%s is a directory" target) - (sit-for 2))) + (important-message 2 nil "%s is a directory" target))) (setcar session-file-object target)))))) ediff-patch-map) )) diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el index 597d8a5e643..425b1c60e5a 100644 --- a/lisp/vc/ediff-util.el +++ b/lisp/vc/ediff-util.el @@ -1047,9 +1047,9 @@ ediff-toggle-read-only (t (setq toggle-ro-cmd 'read-only-mode) (beep 1) (beep 1) - (message - "Boy, this is risky! Don't modify this file...") - (sit-for 3)))) ; let the user see the warning + (important-message + 3 nil ; let the user see the warning + "Boy, this is risky! Don't modify this file...")))) (if (and toggle-ro-cmd (string-match "read-only-mode" (symbol-name toggle-ro-cmd))) (save-excursion @@ -2001,11 +2001,12 @@ ediff-copy-diff (setq messg (ediff-save-diff-region n to-buf-type reg-to-delete)))) - (error (message "ediff-copy-diff: %s %s" - (car conds) - (mapconcat #'prin1-to-string (cdr conds) " ")) - (beep 1) - (sit-for 2) ; let the user see the error msg + (error (beep 1) + (important-message + 2 nil ; let the user see the error msg + "ediff-copy-diff: %s %s" + (car conds) + (mapconcat #'prin1-to-string (cdr conds) " ")) (setq saved-p nil) ))) ) @@ -2692,9 +2693,8 @@ ediff-write-merge-buffer-and-maybe-kill (save-buffer)) (if show-file (progn - (message "Merge buffer saved in: %s" file) (set-buffer-modified-p nil) - (sit-for 3))) + (important-message 3 nil "Merge buffer saved in: %s" file))) (if (and (not save-and-continue) (y-or-n-p "Merge buffer saved. Now kill the buffer? ")) @@ -3231,8 +3231,9 @@ ediff-save-buffer (ediff-get-buffer (ediff-char-to-buftype last-command-event))) ((eq last-command-event ?d) - (message "Saving diff output ...") - (sit-for 1) ; let the user see the message + (important-message + 1 nil ; let the user see the message + "Saving diff output ...") (cond ((and arg (ediff-buffer-live-p ediff-diff-buffer)) ediff-diff-buffer) ((ediff-buffer-live-p ediff-custom-diff-buffer) @@ -3442,10 +3443,10 @@ ediff-inferior-compare-regions nil) ((equal answer "")) (t (beep 1) - (message + (important-message + 2 nil "Valid values are %s" (mapconcat #'char-to-string possibilities " or ")) - (sit-for 2) t)) (let ((cursor-in-echo-area t)) (message "Enter the 1st buffer you want to compare (%s): " @@ -3461,10 +3462,10 @@ ediff-inferior-compare-regions nil) ((equal answer "")) (t (beep 1) - (message + (important-message + 2 nil "Valid values are %s" (mapconcat #'char-to-string possibilities " or ")) - (sit-for 2) t)) (let ((cursor-in-echo-area t)) (message "Enter the 2nd buffer you want to compare (%s): " --=-=-=--