Mercurial > emacs
changeset 66429:2b2388e245c9
(diary-list-entries): Prevent infloop when diary does not end in a
newline. Do not assume a blank line at the start of the diary file.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Tue, 25 Oct 2005 07:33:34 +0000 |
parents | b6b976f53f61 |
children | 2f521eba6f82 |
files | lisp/calendar/diary-lib.el |
diffstat | 1 files changed, 13 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/calendar/diary-lib.el Tue Oct 25 07:32:56 2005 +0000 +++ b/lisp/calendar/diary-lib.el Tue Oct 25 07:33:34 2005 +0000 @@ -439,10 +439,20 @@ date-start temp) (re-search-backward "\^M\\|\n\\|\\`") (setq date-start (point)) - (re-search-forward "\^M\\|\n" nil t 2) + ;; When selective display (rather than + ;; overlays) was used, diary file used to + ;; start in a blank line and end in a + ;; newline. Now that neither of these + ;; need be true, 'move handles the latter + ;; and 1/2 kludge the former. + (re-search-forward + "\^M\\|\n" nil 'move + (if (and (bobp) (not (looking-at "\^M\\|\n"))) + 1 + 2)) (while (looking-at " \\|\^I") - (re-search-forward "\^M\\|\n" nil t)) - (backward-char 1) + (re-search-forward "\^M\\|\n" nil 'move)) + (unless (eobp) (backward-char 1)) (unless list-only (remove-overlays date-start (point) 'invisible 'diary))