[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 784ff9c5d3 2/3: Use progress reporter in cpp.el
From: |
Stefan Kangas |
Subject: |
master 784ff9c5d3 2/3: Use progress reporter in cpp.el |
Date: |
Fri, 4 Nov 2022 15:16:22 -0400 (EDT) |
branch: master
commit 784ff9c5d315881e93b0c80c443aa6f5be3b1ef9
Author: Stefan Kangas <stefankangas@gmail.com>
Commit: Stefan Kangas <stefankangas@gmail.com>
Use progress reporter in cpp.el
* lisp/progmodes/cpp.el (cpp-highlight-buffer): Use progress
reporter.
(cpp-progress-time, cpp-progress-message): Make obsolete in favor
of 'make-progress-reporter'.
(cpp-message-min-time-interval): Doc fix.
---
lisp/progmodes/cpp.el | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el
index 77d7bbd42d..43e430d40c 100644
--- a/lisp/progmodes/cpp.el
+++ b/lisp/progmodes/cpp.el
@@ -1,6 +1,6 @@
;;; cpp.el --- highlight or hide text according to cpp conditionals -*-
lexical-binding: t -*-
-;; Copyright (C) 1994-1995, 2001-2022 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2022 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: c, faces, tools
@@ -98,8 +98,8 @@ Each entry is a list with the following elements:
(const :tag "Both branches writable" both)))))
(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."
+ "Minimum time interval in seconds for `cpp-highlight-buffer' progress
messages.
+If nil, `cpp-highlight-buffer' prints no progress messages."
:type '(choice (const :tag "Disable progress messages" nil)
float)
:version "26.1")
@@ -218,14 +218,15 @@ A prefix arg suppresses display of that buffer."
(cpp-parse-reset)
(if (null cpp-edit-list)
(cpp-edit-load))
- (let (cpp-state-stack)
+ (let ((reporter
+ (and cpp-message-min-time-interval
+ (make-progress-reporter "Parsing..." (point-min) (point-max)
+ nil nil cpp-message-min-time-interval)))
+ cpp-state-stack)
(save-excursion
(goto-char (point-min))
- (cpp-progress-message "Parsing...")
(while (re-search-forward cpp-parse-regexp nil t)
- (cpp-progress-message "Parsing...%d%%"
- (floor (* 100.0 (- (point) (point-min)))
- (buffer-size)))
+ (when reporter (progress-reporter-update reporter (point)))
(let ((match (buffer-substring (match-beginning 0) (match-end 0))))
(cond ((or (string-equal match "'")
(string-equal match "\""))
@@ -268,7 +269,7 @@ A prefix arg suppresses display of that buffer."
(cpp-parse-close from to))
(t
(cpp-parse-error "Parser error"))))))))
- (cpp-progress-message "Parsing...done"))
+ (when reporter (progress-reporter-done reporter)))
(if cpp-state-stack
(save-excursion
(goto-char (nth 3 (car cpp-state-stack)))
@@ -814,6 +815,7 @@ Type must be one of the types defined in
`cpp-face-type-list'."
;;; Utilities:
+(make-obsolete-variable 'cpp-progress-time nil "29.1")
(defvar cpp-progress-time 0
"Last time `cpp-progress-message' issued a progress message.")
@@ -823,6 +825,7 @@ Type must be one of the types defined in
`cpp-face-type-list'."
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'."
+ (declare (obsolete make-progress-reporter "29.1"))
(when cpp-message-min-time-interval
(let ((time (current-time)))
(unless (time-less-p cpp-message-min-time-interval