diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2014-09-10 12:32:36 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2014-09-10 12:32:36 -0400 |
commit | 47003633639a963d2a911d51bf69f4e29d36ff53 (patch) | |
tree | 0041ae3944db1134c13d15ab88ea159fc7ed4813 /lisp/progmodes/cc-mode.el | |
parent | a2dcba1cf3acc322b7d0c45e5bfb12148f464e07 (diff) | |
download | emacs-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.el | 20 |
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)) |