emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r112112: * lisp/nxml/rng-nxml.el (rng


From: Leo Liu
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r112112: * lisp/nxml/rng-nxml.el (rng-set-state-after): Do not let-bind
Date: Sat, 23 Mar 2013 09:38:56 +0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 112112
fixes bug: http://debbugs.gnu.org/13999
committer: Leo Liu <address@hidden>
branch nick: trunk
timestamp: Sat 2013-03-23 09:38:56 +0800
message:
  * lisp/nxml/rng-nxml.el (rng-set-state-after): Do not let-bind
  timer-idle-list.
  
  * lisp/nxml/rng-valid.el (rng-validate-while-idle-continue-p)
  (rng-next-error-1, rng-previous-error-1): Do not let-bind
  timer-idle-list.
modified:
  lisp/ChangeLog
  lisp/nxml/rng-nxml.el
  lisp/nxml/rng-valid.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-03-23 00:38:11 +0000
+++ b/lisp/ChangeLog    2013-03-23 01:38:56 +0000
@@ -1,3 +1,12 @@
+2013-03-23  Leo Liu  <address@hidden>
+
+       * nxml/rng-nxml.el (rng-set-state-after): Do not let-bind
+       timer-idle-list.
+
+       * nxml/rng-valid.el (rng-validate-while-idle-continue-p)
+       (rng-next-error-1, rng-previous-error-1): Do not let-bind
+       timer-idle-list.  (Bug#13999)
+
 2013-03-23  Juri Linkov  <address@hidden>
 
        * info.el (info-index-match): New face.

=== modified file 'lisp/nxml/rng-nxml.el'
--- a/lisp/nxml/rng-nxml.el     2013-01-01 09:11:05 +0000
+++ b/lisp/nxml/rng-nxml.el     2013-03-23 01:38:56 +0000
@@ -380,9 +380,7 @@
                (< rng-validate-up-to-date-end pos))
       ;; Display percentage validated.
       (force-mode-line-update)
-      ;; Force redisplay but don't allow idle timers to run.
-      (let ((timer-idle-list nil))
-       (sit-for 0)))
+      (sit-for 0))
     (message "Parsing...done"))
   (save-excursion
     (save-restriction

=== modified file 'lisp/nxml/rng-valid.el'
--- a/lisp/nxml/rng-valid.el    2013-01-01 09:11:05 +0000
+++ b/lisp/nxml/rng-valid.el    2013-03-23 01:38:56 +0000
@@ -414,26 +414,17 @@
 (defvar rng-validate-display-modified-p nil)
 
 (defun rng-validate-while-idle-continue-p ()
-  ;; input-pending-p and sit-for run timers that are
-  ;; ripe.  Binding timer-idle-list to nil prevents
-  ;; this.  If we don't do this, then any ripe timers
-  ;; will get run, and we won't get any chance to
-  ;; validate until Emacs becomes idle again or until
-  ;; the other lower priority timers finish (which
-  ;; can take a very long time in the case of
-  ;; jit-lock).
-  (let ((timer-idle-list nil))
-    (and (not (input-pending-p))
-        ;; Fake rng-validate-up-to-date-end so that the mode line
-        ;; shows progress.  Also use this to save point.
-        (let ((rng-validate-up-to-date-end (point)))
-          (goto-char rng-validate-display-point)
-          (when (not rng-validate-display-modified-p)
-            (restore-buffer-modified-p nil))
-          (force-mode-line-update)
-          (let ((continue (sit-for 0)))
-            (goto-char rng-validate-up-to-date-end)
-            continue)))))
+  (and (not (input-pending-p))
+       ;; Fake rng-validate-up-to-date-end so that the mode line
+       ;; shows progress.  Also use this to save point.
+       (let ((rng-validate-up-to-date-end (point)))
+        (goto-char rng-validate-display-point)
+        (when (not rng-validate-display-modified-p)
+          (restore-buffer-modified-p nil))
+        (force-mode-line-update)
+        (let ((continue (sit-for 0)))
+          (goto-char rng-validate-up-to-date-end)
+          continue))))
 
 ;; Calling rng-do-some-validation once with a continue-p function, as
 ;; opposed to calling it repeatedly, helps on initial validation of a
@@ -880,9 +871,7 @@
                            (< rng-validate-up-to-date-end (point-max)))
                   ;; Display percentage validated.
                   (force-mode-line-update)
-                  ;; Force redisplay but don't allow idle timers to run.
-                  (let ((timer-idle-list nil))
-                    (sit-for 0))
+                  (sit-for 0)
                   (setq pos
                         (max pos (1- rng-validate-up-to-date-end)))
                   t)))))
@@ -905,9 +894,7 @@
       (while (and (rng-do-some-validation)
                  (< rng-validate-up-to-date-end (min pos (point-max))))
        (force-mode-line-update)
-       ;; Force redisplay but don't allow idle timers to run.
-       (let ((timer-idle-list nil))
-         (sit-for 0)))
+       (sit-for 0))
       (while (and (> arg 0)
                  (setq err (rng-find-previous-error-overlay pos)))
        (setq pos (overlay-start err))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]