summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/progmodes/cc-defs.el9
1 files 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