'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.
+ (let ((beginning-of-defun-function
+ (lambda (&optional arg)
+ (not (eq arg nil)))))
+ (if (beginning-of-defun 1)
+ (setq list (cons 'argumentative-bod-function list))))
+
(let ((buf (generate-new-buffer " test"))
parse-sexp-lookup-properties
parse-sexp-ignore-comments
'8-bit 8 bit syntax entry flags (XEmacs style).
'1-bit 1 bit syntax entry flags (Emacs style).
+'argumentative-bod-function beginning-of-defun passes ARG through
+ to a non-null beginning-of-defun-function. It is assumed
+ the end-of-defun does the same thing.
'syntax-properties It works to override the syntax for specific characters
in the buffer with the 'syntax-table property. It's
always set - CC Mode no longer works in emacsen without
;; RMS says don't make these the default.
;; (April 2006): RMS has now approved these commands as defaults.
- (define-key c-mode-base-map "\e\C-a" 'c-beginning-of-defun)
- (define-key c-mode-base-map "\e\C-e" 'c-end-of-defun)
+ (unless (memq 'argumentative-bod-function c-emacs-features)
+ (define-key c-mode-base-map "\e\C-a" 'c-beginning-of-defun)
+ (define-key c-mode-base-map "\e\C-e" 'c-end-of-defun))
(define-key c-mode-base-map "\C-c\C-n" 'c-forward-conditional)
(define-key c-mode-base-map "\C-c\C-p" 'c-backward-conditional)