summaryrefslogtreecommitdiff
path: root/lisp/progmodes/cc-mode.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2014-09-10 12:32:36 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2014-09-10 12:32:36 -0400
commit47003633639a963d2a911d51bf69f4e29d36ff53 (patch)
tree0041ae3944db1134c13d15ab88ea159fc7ed4813 /lisp/progmodes/cc-mode.el
parenta2dcba1cf3acc322b7d0c45e5bfb12148f464e07 (diff)
downloademacs-47003633639a963d2a911d51bf69f4e29d36ff53.tar.gz
CC-mode: Set open-paren-in-column-0-is-defun-start to nil;
plus misc cleanup. * lisp/progmodes/cc-mode.el (c-basic-common-init): Set open-paren-in-column-0-is-defun-start. (adaptive-fill-first-line-regexp, font-lock-syntactic-keywords): Remove declarations, unused. (run-mode-hooks): Remove declaration. (font-lock-defaults): Use plain `defvar' to declare. (c-run-mode-hooks): Test existence of run-mode-hooks with fboundp. * lisp/progmodes/cc-langs.el (c-filter-ops): Avoid `setq'. (c-make-mode-syntax-table): Don't micro-optimize. (c-keywords, c-keyword-member-alist): Simplify. (c-kwds-lang-consts): Don't eval at compile-time. (c-primary-expr-regexp): Comment out unused vars. * lisp/progmodes/cc-fonts.el (c-font-lock-context): Declare at top-level. (c-font-byte-compile): New var. (c--compile): New function. Use it instead of `byte-compile'. (c-cpp-matchers): Quote the value returned by `c-make-syntactic-matcher' in case it's not self-evaluating. (c-basic-matchers-before): Avoid a plain MATCHER as keyword, wrap it in parentheses instead (in case MATCHER happens to be a list). (c-font-lock-enum-tail): Remove unused var `start'. (c-font-lock-objc-methods): Silence byte-compiler warnings. * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Sink an `if' test into an argument. * lisp/progmodes/cc-defs.el (c-point, c-major-mode-is, c-put-char-property) (c-get-char-property): Don't use `eval' just to unquote a constant. (c-use-extents): Remove. Use (featurep 'xemacs), compiled more efficiently. (c-put-char-property-fun): Don't call `byte-compile' by hand. (c-clear-char-property, c-clear-char-properties): Check that `property' is a quoted constant. (c-emacs-features): Remove `infodock', `syntax-properties', and `pps-extended-state' (never used), `8-bit' and `1-bit' (use (featurep 'xemacs) instead). Use `with-temp-buffer' and let-bind vars after changing buffer, so we don't have to setq them again afterwards. (c-lang-const): Remove redundant symbolp assertions. (c-find-assignment-for-mode): Use `or'. * lisp/Makefile.in (compile-one-process): Remove cc-mode dependency.
Diffstat (limited to 'lisp/progmodes/cc-mode.el')
-rw-r--r--lisp/progmodes/cc-mode.el20
1 files changed, 6 insertions, 14 deletions
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 1ce076734ff..7eca7e562ea 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -95,14 +95,9 @@
(cc-require 'cc-menus)
(cc-require 'cc-guess)
-;; Silence the compiler.
-(cc-bytecomp-defvar adaptive-fill-first-line-regexp) ; Emacs
-(cc-bytecomp-defun run-mode-hooks) ; Emacs 21.1
-
;; We set these variables during mode init, yet we don't require
;; font-lock.
-(cc-bytecomp-defvar font-lock-defaults)
-(cc-bytecomp-defvar font-lock-syntactic-keywords)
+(defvar font-lock-defaults)
;; Menu support for both XEmacs and Emacs. If you don't have easymenu
;; with your version of Emacs, you are incompatible!
@@ -552,11 +547,8 @@ that requires a literal mode spec at compile time."
;; heuristic that open parens in column 0 are defun starters. Since
;; we have c-state-cache, that heuristic isn't useful and only causes
;; trouble, so turn it off.
-;; 2006/12/17: This facility is somewhat confused, and doesn't really seem
-;; helpful. Comment it out for now.
-;; (when (memq 'col-0-paren c-emacs-features)
-;; (make-local-variable 'open-paren-in-column-0-is-defun-start)
-;; (setq open-paren-in-column-0-is-defun-start nil))
+ (when (memq 'col-0-paren c-emacs-features)
+ (set (make-local-variable 'open-paren-in-column-0-is-defun-start) nil))
(c-clear-found-types)
@@ -816,7 +808,7 @@ Note that the style variables are always made local to the buffer."
(defmacro c-run-mode-hooks (&rest hooks)
;; Emacs 21.1 has introduced a system with delayed mode hooks that
;; requires the use of the new function `run-mode-hooks'.
- (if (cc-bytecomp-fboundp 'run-mode-hooks)
+ (if (fboundp 'run-mode-hooks)
`(run-mode-hooks ,@hooks)
`(progn ,@(mapcar (lambda (hook) `(run-hooks ,hook)) hooks))))
@@ -1232,8 +1224,8 @@ This function is called from `c-common-init', once per mode initialization."
(font-lock-mark-block-function
. c-mark-function)))
- (make-local-variable 'font-lock-fontify-region-function)
- (setq font-lock-fontify-region-function 'c-font-lock-fontify-region)
+ (set (make-local-variable 'font-lock-fontify-region-function)
+ #'c-font-lock-fontify-region)
(if (featurep 'xemacs)
(make-local-hook 'font-lock-mode-hook))