# HG changeset patch # User Chong Yidong # Date 1218490684 0 # Node ID d76aacb7f6e45d58ba04df148926bd3673eee978 # Parent 53dca1f0eeef8508aa9d68c3a34a337f400297e2 (c-emacs-features): Check beginning-of-defun-raw instead of beginning-of-defun, and avoid moving point during the test. diff -r 53dca1f0eeef -r d76aacb7f6e4 lisp/progmodes/cc-defs.el --- a/lisp/progmodes/cc-defs.el Mon Aug 11 21:37:52 2008 +0000 +++ b/lisp/progmodes/cc-defs.el Mon Aug 11 21:38:04 2008 +0000 @@ -1440,13 +1440,14 @@ '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