GNU bug report logs - #24861
[PATCH] Fix annoying "Parsing...done" message in c++-mode

Previous Next

Packages: cc-mode, emacs;

Reported by: Hong Xu <hong <at> topbug.net>

Date: Wed, 2 Nov 2016 18:46:01 UTC

Severity: wishlist

Tags: patch

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Hong Xu <hong <at> topbug.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 24861 <at> debbugs.gnu.org, Andreas Schwab <schwab <at> linux-m68k.org>
Subject: bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode
Date: Wed, 02 Nov 2016 16:34:22 -0700
[Message part 1 (text/plain, inline)]
On 2016-11-02 Wed 13:21 GMT-0700, Eli Zaretskii <eliz <at> gnu.org> wrote:

> (Not that I understand why this particular message needs to be
> customizable.)

Because the messages by cpp.el is so frequent that it often competes
with other useful information. I've added some explanation in the
docstring.

The attachment is a new version.


[cpp-message.patch (text/x-diff, inline)]
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el
index 7d641ab47f09..a0705023b448 100644
--- a/lisp/progmodes/cpp.el
+++ b/lisp/progmodes/cpp.el
@@ -104,6 +104,15 @@ cpp-edit-list
 			       (const :tag "Both branches writable" both))))
   :group 'cpp)
 
+(defcustom cpp-message-min-time-interval 1
+  "Indicate the minimum time interval in seconds that `cc-mode'
+should print messages.  If set to nil, `cc-mode' will print no
+message.  This may be useful to set when the message `cc-mode'
+prints too many messages that competes with other information in
+the echo area."
+  :type 'integer
+  :group 'cpp)
+
 (defvar cpp-overlay-list nil)
 ;; List of cpp overlays active in the current buffer.
 (make-variable-buffer-local 'cpp-overlay-list)
@@ -278,7 +287,7 @@ cpp-highlight-buffer
 			  (cpp-parse-close from to))
 			 (t
 			  (cpp-parse-error "Parser error"))))))))
-      (message "Parsing...done"))
+      (cpp-progress-message "Parsing...done"))
     (if cpp-state-stack
       (save-excursion
 	(goto-char (nth 3 (car cpp-state-stack)))
@@ -823,12 +832,14 @@ cpp-progress-time
 ;; Last time we issued a progress message.
 
 (defun cpp-progress-message (&rest args)
-  ;; Report progress at most once a second.  Take same ARGS as `message'.
-  (let ((time (nth 1 (current-time))))
-    (if (= time cpp-progress-time)
-	()
-      (setq cpp-progress-time time)
-      (apply 'message args))))
+  "Report progress at most once a second.  Take same ARGS as
+`message'."
+  (when cpp-message-min-time-interval
+    (let ((time (nth 1 (current-time))))
+      (when (>= (- time cpp-progress-time)
+                cpp-message-min-time-interval)
+        (setq cpp-progress-time time)
+        (apply 'message args)))))
 
 (provide 'cpp)
 
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 8 years and 176 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.