]> git.eshelyaron.com Git - emacs.git/commitdiff
Revert previous change.
authorGlenn Morris <rgm@gnu.org>
Thu, 20 Sep 2007 03:01:01 +0000 (03:01 +0000)
committerGlenn Morris <rgm@gnu.org>
Thu, 20 Sep 2007 03:01:01 +0000 (03:01 +0000)
lisp/ChangeLog
lisp/textmodes/tex-mode.el

index f91b0156cfe90acd6a70fd6fe442fc754493787b..07343511379502ec4db93b8e042e614b501c125d 100644 (file)
@@ -1,3 +1,10 @@
+2007-09-20  Glenn Morris  <rgm@gnu.org>
+
+       * textmodes/tex-mode.el (tex-validate-buffer): Use paragraph
+       motion functions, rather than hard-coding "\n\n".
+       (tex-validate-region): Check for eobp, to speed up.
+       (tex-next-unmatched-end): Doc fix.
+
 2007-09-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * files.el (auto-mode-alist): Use archive-mode for .rar files.
index 3a7a9880d388a771992a4e9f8a3146ea546f8b6c..f52653e2cf651ee514f63119936721ed169cffd4 100644 (file)
@@ -1184,25 +1184,27 @@ on the line for the invalidity you want to see."
        (setq occur-revert-arguments (list nil 0 (list buffer))))
       (save-excursion
        (goto-char (point-max))
-       (while (and (not (bobp)))
-         (let ((end (point))
-               prev-end)
+       ;; Do a little shimmy to place point at the end of the last
+       ;; "real" paragraph. Need to avoid validating across an \end,
+       ;; because that blows up latex-forward-sexp.
+       (backward-paragraph)
+       (forward-paragraph)
+       (while (not (bobp))
            ;; Scan the previous paragraph for invalidities.
-           ;; FIXME this should be using something like backward-paragraph.
-           (if (search-backward "\n\n" nil t)
-               (progn
-                 (setq prev-end (point))
-                 (forward-char 2))
-             (goto-char (setq prev-end (point-min))))
-           (or (tex-validate-region (point) end)
-               (let* ((end (line-beginning-position 2))
+         (backward-paragraph)
+         (save-excursion
+           (or (tex-validate-region (point) (save-excursion
+                                              (forward-paragraph)
+                                              (point)))
+               (let ((end (line-beginning-position 2))
                       start tem)
                  (beginning-of-line)
                  (setq start (point))
                  ;; Keep track of line number as we scan,
                  ;; in a cumulative fashion.
                  (if linenum
-                     (setq linenum (- linenum (count-lines prevpos (point))))
+                     (setq linenum (- linenum
+                                      (count-lines prevpos (point))))
                    (setq linenum (1+ (count-lines 1 start))))
                  (setq prevpos (point))
                  ;; Mention this mismatch in *Occur*.
@@ -1223,10 +1225,10 @@ on the line for the invalidity you want to see."
                      (add-text-properties
                       text-beg (- text-end 1)
                       '(mouse-face highlight
-                        help-echo "mouse-2: go to this invalidity"))
+                                   help-echo
+                                   "mouse-2: go to this invalidity"))
                      (put-text-property text-beg (- text-end 1)
-                                        'occur-target tem)))))
-           (goto-char prev-end))))
+                                        'occur-target tem))))))))
       (with-current-buffer standard-output
        (let ((no-matches (zerop num-matches)))
          (if no-matches
@@ -1249,7 +1251,9 @@ area if a mismatch is found."
            (narrow-to-region start end)
            ;; First check that the open and close parens balance in numbers.
            (goto-char start)
-           (while (<= 0 (setq max-possible-sexps (1- max-possible-sexps)))
+           (while (and (not (eobp))
+                       (<= 0 (setq max-possible-sexps
+                                   (1- max-possible-sexps))))
              (forward-sexp 1))
            ;; Now check that like matches like.
            (goto-char start)
@@ -1388,7 +1392,7 @@ Return the value returned by the last execution of BODY."
     (search-failed (error "Couldn't find unended \\begin"))))
 
 (defun tex-next-unmatched-end ()
-  "Leave point at the end of the next `\\end' that is unended."
+  "Leave point at the end of the next `\\end' that is unmatched."
   (while (and (tex-search-noncomment
               (re-search-forward "\\\\\\(begin\\|end\\)\\s *{[^}]+}"))
              (save-excursion (goto-char (match-beginning 0))