diff options
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 8 | ||||
| -rw-r--r-- | lisp/emacs-lisp/lisp.el | 14 |
2 files changed, 14 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bb113227b68..73f01a0daa6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2009-02-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/lisp.el (end-of-defun): Don't skip to next line after + calling end-of-defun-function if it already moved to BOL. + 2009-02-12 Richard M Stallman <rms@gnu.org> * mail/rmail.el (rmail-show-message-verbose-min): New option. @@ -106,8 +111,7 @@ 2009-02-09 Ulf Jasper <ulf.jasper@web.de> * net/newst-treeview.el (newsticker-treeview-save) - (newsticker--treeview-load): Kill groups buffer after - saving/loading. + (newsticker--treeview-load): Kill groups buffer after saving/loading. 2009-02-09 Tassilo Horn <tassilo@member.fsf.org> diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index ba1546980ae..b53c98acb7e 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -348,9 +348,10 @@ is called as a function to find the defun's end." (beginning-of-defun-raw 1) (while (unless (eobp) (funcall end-of-defun-function) - (skip-chars-forward " \t") - (if (looking-at "\\s<\\|\n") - (forward-line 1)) + (unless (bolp) + (skip-chars-forward " \t") + (if (looking-at "\\s<\\|\n") + (forward-line 1))) ;; If we started after the end of the previous ;; function, try again with the next one. (unless (or (> (point) pos) @@ -370,9 +371,10 @@ is called as a function to find the defun's end." (let ((beg (point)) retry-point) (funcall end-of-defun-function) - (skip-chars-forward " \t") - (if (looking-at "\\s<\\|\n") - (forward-line 1)) + (unless (bolp) + (skip-chars-forward " \t") + (if (looking-at "\\s<\\|\n") + (forward-line 1))) ;; If we started from within the function just found, ;; try again with the previous one. (unless (or (< (point) pos) |
