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-engine.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-engine.el')
-rw-r--r-- | lisp/progmodes/cc-engine.el | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 9eb95f69c48..ce7797b411a 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@ -2222,6 +2222,8 @@ comment at the start of cc-engine.el for more info." ((and (not not-in-delimiter) ; inside a comment starter (not (bobp)) (progn (backward-char) + ;; FIXME: We never add category-properties to + ;; c-emacs-features! (and (not (and (memq 'category-properties c-emacs-features) (looking-at "\\s!"))) (looking-at c-comment-start-regexp)))) @@ -4119,10 +4121,10 @@ comment at the start of cc-engine.el for more info." (c-end-of-current-token last-token-end-pos)) (setq last-token-end-pos (point)))))) ;; Inside a token. - (if lookbehind-submatch - ;; See the NOTE above. - (goto-char state-pos) - (goto-char (min last-token-end-pos bound)))) + (goto-char (if lookbehind-submatch + ;; See the NOTE above. + state-pos + (min last-token-end-pos bound)))) (t ;; A real match. |