aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/textmodes
diff options
context:
space:
mode:
authorGlenn Morris <[email protected]>2007-09-20 03:01:01 +0000
committerGlenn Morris <[email protected]>2007-09-20 03:01:01 +0000
commit0a4daff51eb734b2ba3bde84ec68c6c337f1a61c (patch)
tree0c600bb3d7c2b049797f16b54e5b478b6a52a257 /lisp/textmodes
parent3cfff67b9e5e50ead17743cbc7deac64ce549b67 (diff)
Revert previous change.
Diffstat (limited to 'lisp/textmodes')
-rw-r--r--lisp/textmodes/tex-mode.el38
1 files changed, 21 insertions, 17 deletions
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 3a7a9880d3..f52653e2cf 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -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))