summaryrefslogtreecommitdiff
path: root/lisp/progmodes/cc-engine.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-engine.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-engine.el')
-rw-r--r--lisp/progmodes/cc-engine.el10
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.