]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/nxml/rng-nxml.el (rng-set-state-after): Do not let-bind
authorLeo Liu <sdl.web@gmail.com>
Sat, 23 Mar 2013 01:38:56 +0000 (09:38 +0800)
committerLeo Liu <sdl.web@gmail.com>
Sat, 23 Mar 2013 01:38:56 +0000 (09:38 +0800)
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.

Fixes: debbugs:13999
lisp/ChangeLog
lisp/nxml/rng-nxml.el
lisp/nxml/rng-valid.el

index 966bbb1367ce50ff917d0941591f1df0a950dd20..f79c533465e5dd5f55b40b022926e1b5f0d69086 100644 (file)
@@ -1,3 +1,12 @@
+2013-03-23  Leo Liu  <sdl.web@gmail.com>
+
+       * 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  <juri@jurta.org>
 
        * info.el (info-index-match): New face.
index cfb8e33cccb701b635c7e2fd29985a7e1572d8b8..bc070136adb8ba486a79b393ace53188289c1c67 100644 (file)
@@ -380,9 +380,7 @@ set `xmltok-dtd'.  Returns the position of the end of the token."
                (< 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
index a87ab2532ce8787b770bdb078e3f059626333835..9ba2e9877184ccd06e52f2bbec808c1dc7159f6c 100644 (file)
@@ -414,26 +414,17 @@ The schema is set like `rng-auto-set-schema'."
 (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 @@ means goto the first error."
                            (< 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 @@ means goto the first error."
       (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))