From 14e10fb314f34f7c2c8dea912cd8632d2576cdbe Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 11 Aug 2008 21:38:04 +0000 Subject: [PATCH] (c-emacs-features): Check beginning-of-defun-raw instead of beginning-of-defun, and avoid moving point during the test. --- lisp/progmodes/cc-defs.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el index d1a1a75f303..92ff4562b85 100644 --- a/lisp/progmodes/cc-defs.el +++ b/lisp/progmodes/cc-defs.el @@ -1440,13 +1440,14 @@ non-nil, a caret is prepended to invert the set." '1-bit) list))) - ;; In Emacs >= 23, beginning-of-defun will passes its parameter to - ;; beginning-of-defun-function. Assume end-of-defun does the same. + ;; In Emacs >= 23, beginning-of-defun-raw passes its argument to + ;; beginning-of-defun-function. Assume end-of-defun does likewise. (let ((beginning-of-defun-function (lambda (&optional arg) (not (eq arg nil))))) - (if (beginning-of-defun 1) - (setq list (cons 'argumentative-bod-function list)))) + (save-excursion + (if (beginning-of-defun-raw 1) + (setq list (cons 'argumentative-bod-function list))))) (let ((buf (generate-new-buffer " test")) parse-sexp-lookup-properties -- 2.39.5