From: Stefan Monnier Date: Thu, 12 Feb 2009 04:16:14 +0000 (+0000) Subject: (end-of-defun): Don't skip to next line after X-Git-Tag: emacs-pretest-23.0.91~280 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6bffddf43b6cae67d1b36eeae07d6227a8c6b8a1;p=emacs.git (end-of-defun): Don't skip to next line after calling end-of-defun-function if it already moved to BOL. --- 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 + + * 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 * mail/rmail.el (rmail-show-message-verbose-min): New option. @@ -106,8 +111,7 @@ 2009-02-09 Ulf Jasper * 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 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)