[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode
From: |
Hong Xu |
Subject: |
bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode |
Date: |
Sat, 19 Nov 2016 16:20:10 -0800 |
User-agent: |
mu4e 0.9.17; emacs 25.1.50.12 |
On 2016-11-18 Fri 23:50 GMT-0800, Eli Zaretskii <eliz@gnu.org> wrote:
>> Cc: 24861@debbugs.gnu.org
>> From: Hong Xu <hong@topbug.net>
>> Date: Fri, 18 Nov 2016 11:55:28 -0800
>>
>> Allow users to customize the maximum frequency that
>> `cpp-progress-message' prints messages.
>>
>> * progmodes/cpp.el (cpp-message-min-time-interval)
>> (cpp-progress-message): Add variable
>> `cpp-message-min-time-interval' to indicate the minimum time
>> interval in seconds that `cpp-progress-message' prints messages.
>>
>> * progmodes/cpp.el (cpp-progress-time): Initialize to '(0 0 0 0)
>> instead of
>> 0 and improve the documentation.
>>
>> * progmodes/cpp.el (cpp-highlight-buffer): Use
>> `cpp-progress-message' instead of `message'.
>
> Thanks, but there are still left-overs:
>
>> +(defcustom cpp-message-min-time-interval 1.0
>> + "Indicate the minimum time interval in seconds that
>> +`cpp-progress-message' should print messages.
>
> This should be one line, so the sentence should be shorter to fit. If
> you drop the redundant "Indicate the" part, it will come close.
>
>> -(defvar cpp-progress-time 0)
>> -;; Last time we issued a progress message.
>> +(defvar cpp-progress-time '(0 0 0 0)
>
> You could leave it at 0, no need to have a list here.
>
>> + "Indicate the last time `cpp-progress-message' issued a
>> + progress message.")
>
> This should be a single line. Once again, please drop the uneeded
> "Indicate" part.
>
>> (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 by printing messages at most once every
>> +`cpp-message-min-time-interval' seconds for functions whose names
>> +start with \"cpp-\". If `cpp-message-min-time-interval' is nil,
>> +it prints no message. The ARGS are the same as in `message'."
>
> The first sentence of the doc string should take only one line.
Thanks, updated.
Allow users to customize the maximum frequency that `cpp-progress-message'
prints messages.
* progmodes/cpp.el (cpp-message-min-time-interval)
(cpp-progress-message): Add variable
`cpp-message-min-time-interval' to indicate the minimum time
interval in seconds that `cpp-progress-message' prints messages.
* progmodes/cpp.el (cpp-progress-time): Improve the documentation.
* progmodes/cpp.el (cpp-highlight-buffer): Use
`cpp-progress-message' instead of `message' to print messages.
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el
index 7d641ab47f09..fc8c271cc5ec 100644
--- a/lisp/progmodes/cpp.el
+++ b/lisp/progmodes/cpp.el
@@ -104,6 +104,13 @@ cpp-edit-list
(const :tag "Both branches writable" both))))
:group 'cpp)
+(defcustom cpp-message-min-time-interval 1.0
+ "The minimum time interval in seconds that `cpp-progress-message' prints
messages.
+If it is set to nil, `cpp-progress-message' prints no message."
+ :type 'float
+ :group 'cpp
+ :version "26.1")
+
(defvar cpp-overlay-list nil)
;; List of cpp overlays active in the current buffer.
(make-variable-buffer-local 'cpp-overlay-list)
@@ -278,7 +285,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)))
@@ -819,16 +826,21 @@ cpp-face-name
;;; Utilities:
-(defvar cpp-progress-time 0)
-;; Last time we issued a progress message.
+(defvar cpp-progress-time 0
+ "The last time `cpp-progress-message' 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 by printing messages used by \"cpp-\" functions.
+It prints messages at most once every
+`cpp-message-min-time-interval' seconds. If
+`cpp-message-min-time-interval' is nil, it prints no message.
+The ARGS are the same as in `message'."
+ (when cpp-message-min-time-interval
+ (let ((time (current-time)))
+ (when (>= (float-time (time-subtract time cpp-progress-time))
+ cpp-message-min-time-interval)
+ (setq cpp-progress-time time)
+ (apply 'message args)))))
(provide 'cpp)
signature.asc
Description: PGP signature
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Hong Xu, 2016/11/02
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Hong Xu, 2016/11/02
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Eli Zaretskii, 2016/11/02
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Hong Xu, 2016/11/02
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Eli Zaretskii, 2016/11/03
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Hong Xu, 2016/11/03
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Hong Xu, 2016/11/15
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Eli Zaretskii, 2016/11/18
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Hong Xu, 2016/11/18
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Eli Zaretskii, 2016/11/19
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode,
Hong Xu <=
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Eli Zaretskii, 2016/11/25
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Hong Xu, 2016/11/02
- bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Richard Stallman, 2016/11/03
bug#24861: [PATCH] Fix annoying "Parsing...done" message in c++-mode, Andreas Schwab, 2016/11/02