[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 83bf70f: Allow user control of progress messages in
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master 83bf70f: Allow user control of progress messages in cpp.el |
Date: |
Fri, 25 Nov 2016 10:53:28 +0000 (UTC) |
branch: master
commit 83bf70f81ec13b1f6ba3afeba503f483bf2fcc75
Author: Hong Xu <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Allow user control of progress messages in cpp.el
* progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
(cpp-progress-time): Use 'cpp-message-min-time-interval'. Improve
the doc string.
(cpp-highlight-buffer): Use 'cpp-progress-message' instead of
'message' to print messages. (Bug#24861)
Copyright-paperwork-exempt: yes
---
lisp/progmodes/cpp.el | 30 +++++++++++++++++++++---------
1 file changed, 21 insertions(+), 9 deletions(-)
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el
index 7d641ab..18b0704 100644
--- a/lisp/progmodes/cpp.el
+++ b/lisp/progmodes/cpp.el
@@ -104,6 +104,13 @@ Each entry is a list with the following elements:
(const :tag "Both branches writable" both))))
:group 'cpp)
+(defcustom cpp-message-min-time-interval 1.0
+ "Minimum time interval in seconds for `cpp-progress-message' messages.
+If nil, `cpp-progress-message' prints no progress messages."
+ :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 @@ A prefix arg suppresses display of that 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 @@ BRANCH should be either nil (false branch), t (true
branch) or `both'."
;;; Utilities:
-(defvar cpp-progress-time 0)
-;; Last time we issued a progress message.
+(defvar cpp-progress-time 0
+ "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.
+
+Print messages at most once every `cpp-message-min-time-interval' seconds.
+If that option is nil, don't prints messages.
+ARGS are the same as for `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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 83bf70f: Allow user control of progress messages in cpp.el,
Eli Zaretskii <=