From f2a8252af4cca4d4f72638408279dec0c5f4251c Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 19 Feb 2009 16:55:24 +0000 Subject: [PATCH] (end-of-defun): Consider the ".*\n" after the end of the function as being part of the function. --- lisp/ChangeLog | 7 ++++++- lisp/emacs-lisp/lisp.el | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2fc4d1ee310..72672d8efe6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6 +1,11 @@ +2009-02-19 Stefan Monnier + + * emacs-lisp/lisp.el (end-of-defun): Consider the ".*\n" after the end of + the function as being part of the function. + 2009-02-19 Nick Roberts - * progmodes/compile.el (compilation-error-regexp-alist-alist): + * progmodes/compile.el (compilation-error-regexp-alist-alist): Move entry for maven (alphabetical order). 2009-02-19 Glenn Morris diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index 219f0253ff4..79fb8377f23 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -345,6 +345,14 @@ is called as a function to find the defun's end." (let ((pos (point)) (beg (progn (end-of-line 1) (beginning-of-defun-raw 1) (point)))) (funcall end-of-defun-function) + ;; When comparing point against pos, we want to consider that if + ;; point was right after the end of the function, it's still + ;; considered as "in that function". + ;; E.g. `eval-defun' from right after the last close-paren. + (unless (bolp) + (skip-chars-forward " \t") + (if (looking-at "\\s<\\|\n") + (forward-line 1))) (cond ((> arg 0) ;; Moving forward. -- 2.39.5