trinkle@PURDUE.EDU (01/24/89)
Index:
lisp/paragraphs.el GNU Emacs 18.52
Description:
This bug exists in 18.51 and 18.52 GNU Emacs. If, in tex-mode,
you have a buffer with nothing by paragraph-separaters,
(backward-paragraph) will go into an infinite loop.
Repeat-By:
Create a file foo.tex with the following contents:
------------------------------cut here------------------------------
\begin{..}
\item ...
\item ...
\item ...
\item ...
\end{...}
\begin{..}
\item ...
\item ...
\item ...
\item ...
\end{...}
\begin{..}
\item ...
\item ...
\item ...
\item ...
\end{...}
------------------------------cut here------------------------------
Start GNU Emacs and visit foo.tex. This should load tex-mode.
Go to the end of the buffer and do a backward-paragraph
(probably bound to META-[). GNU Emacs will go into an
infinite loop. The problem is in forward-paragraph when doing
a backward-paragraph search (arg = -1). If a paragraph-start
match is found, then there is a while loop that keeps doing a
(forward-line 1) while (looking-at paragraph-separate).
Unfortunately there is no check for (eobp). In a file with
nothing but paragraph-separate lines, this will cause an
infinite loop.
Fix:
If there is a check for (eobp), things seem to work just fine.
This garuantees that the while loop will never be an infinite
loop. Replace
(not (bobp)))
(re-search-backward paragraph-start nil t))
;; Found one.
(progn
! (while (looking-at paragraph-separate)
(forward-line 1))
(if (eq (char-after (- (point) 2)) ?\n)
(forward-line -1)))
;; No starter or separator line => use buffer beg.
(goto-char (point-min))))
(setq arg (1+ arg)))
(while (> arg 0)
with
(not (bobp)))
(re-search-backward paragraph-start nil t))
;; Found one.
(progn
! (while (and (looking-at paragraph-separate) (not (eobp)))
(forward-line 1))
(if (eq (char-after (- (point) 2)) ?\n)
(forward-line -1)))
;; No starter or separator line => use buffer beg.
(goto-char (point-min))))
(setq arg (1+ arg)))
(while (> arg 0)
Daniel Trinkle trinkle@cs.purdue.edu
Dept. of Computer Sciences {backbone}!purdue!trinkle
Purdue University 317-494-7844
West Lafayette, IN 47907tower@WHEATIES.AI.MIT.EDU (Leonard H. Tower Jr.) (01/27/89)
Organization: SRI International, Menlo Park, CA
Phone: Office--415/859-3759 Home--415/941-0238
Date: Fri, 27 Jan 89 00:06:08 PST
From: Bill Wohler <wohler@spam.istc.sri.com>
so how many times are we going to see this message? 5, and
counting...
--bw
This looks to be a loop at one of the re-dist addresses. They are off
the list until they fix it.
enjoy -len wohler@SPAM.ISTC.SRI.COM (Bill Wohler) (01/27/89)
so how many times are we going to see this message? 5, and counting... --bw