1. 28 Aug, 2011 1 commit
    • Alan Mackenzie's avatar
      Fix - typing on a C++ inher-intro or inher-cont line should preserve the · ef8cdf8c
      Alan Mackenzie authored
      fontification of the inherited class names.  Analogously for namespace
      names and Java import, extends, etc.
      
      (cc-fonts.el): (c-make-font-lock-BO-decl-search-function): New function.
      (c-basic-matchers-after - "Fontify the clauses after various keywords"):
      Extract the three keyword lists for the 3 erroneous constructs from the
      list of four, and use the new function above in place of an old one.
      ef8cdf8c
  2. 20 Aug, 2011 2 commits
    • Alan Mackenzie's avatar
      Resolve invalid use of a regexp in regexp-opt. · e3715033
      Alan Mackenzie authored
      cc-fonts.el (c-complex-decl-matchers): Add in special detection for a
      java annotation.
      
      cc-engine.el (c-forward-decl-or-cast-1): Add in special detection for a
      java annotation.
      
      cc-langs.el (c-prefix-spec-kwds-re): Remove the special handling for
      java.
      (c-modifier-kwds): Remove the regexp "@[A-za-z0-9]+".
      e3715033
    • Alan Mackenzie's avatar
      Fontify CPP expressions correctly when starting in the middle of such a · b128268e
      Alan Mackenzie authored
      construct.  Mainly for when jit-lock etc. starts a chunk here.
      
      cc-fonts.el (c-font-lock-context): new buffer local variable.
      (c-make-font-lock-search-form): new function, extracted from
      c-make-font-lock-search-function.
      (c-make-font-lock-search-function): Use the above function.
      (c-make-font-lock-context-search-function): New function.
      (c-cpp-matchers): Enhance the preprocessor expression case with the above
      function
      (c-font-lock-complex-decl-prepare):  Test for being in a CPP form which
      takes an expression.
      
      cc-langs.el (c-cpp-expr-intro-re): New lang-variable.
      b128268e
  3. 26 Jul, 2011 1 commit
    • Alan Mackenzie's avatar
      Fontify bitfield declarations properly. · b248a85d
      Alan Mackenzie authored
      cc-langs.el (c-has-bitfields): New lang variable.
      (c-symbol-chars): Now exported as a lang variable.
      (c-not-primitive-type-keywords): New lang variable.
      
      cc-fonts.el (c-font-lock-declarations): Jump over the QT keyword "more"
      to prevent "more slots: ...." being spuriously parsed as a bitfield
      declaraion.
      
      cc-engine.el (c-beginning-of-statement-1): Refactor and enhance to handle
      bitfield declarations.
      (c-punctuation-in): New function.
      (c-forward-decl-or-cast-1): Enhance CASE 3 to handle bitfield
      declarations properly.
      b248a85d
  4. 18 Jul, 2011 1 commit
  5. 15 Jun, 2011 1 commit
  6. 13 Feb, 2011 1 commit
    • Alan Mackenzie's avatar
      Proper fix for CC mode Bug#7722. · abfc152b
      Alan Mackenzie authored
      * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove a
      narrow-to-region call that cuts context off the end (Bug#7722).
      
      * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Refactor
      nested if-forms with a simple cond.
      (c-forward-<>-arglist): Revert 2011-01-31 change.
      abfc152b
  7. 25 Jan, 2011 1 commit
  8. 15 Jan, 2011 1 commit
  9. 02 Jan, 2011 1 commit
  10. 30 Oct, 2010 1 commit
  11. 24 Oct, 2010 1 commit
  12. 09 Oct, 2010 1 commit
    • Alan Mackenzie's avatar
      Enhance fontification of declarators to take account of the · e15f8aaa
      Alan Mackenzie authored
      presence/absence of "typedef".
      
      cc-engine.el (c-forward-type): New &optional param "brace-block-too".
      (c-forward-decl-or-cast-1): cdr of return value now indicates the
      presence of either or both of a "struct"-like keyword and "typedef".
      
      cc-fonts.el (c-complex-decl-matchers): Remove the heuristic fontification
      of declarators which follow a "}".
      (c-font-lock-declarations): Fontify declarators according to the
      presence/absence of "typedef".
      
      cc-langs.el (c-typedef-kwds c-typedef-key): New lang variable for
      "typedef".
      (c-typedef-decl-key): New lang variable built from c-typedef-decl-kwds.
      e15f8aaa
  13. 29 Aug, 2010 1 commit
  14. 31 Jul, 2010 1 commit
  15. 12 Apr, 2010 1 commit
  16. 14 Jan, 2010 1 commit
  17. 13 Jan, 2010 1 commit
  18. 03 Dec, 2009 1 commit
    • Alan Mackenzie's avatar
      Enhance `c-parse-state' to run efficiently in "brace desserts". · 0ec1d2c5
      Alan Mackenzie authored
      * progmodes/cc-mode.el (c-basic-common-init): Call
      c-state-cache-init.
      (c-neutralize-syntax-in-and-mark-CPP):  Renamed from
      c-extend-and-neutralize-syntax-in-CPP.  Mark each CPP construct by
      placing `category' properties value 'c-cpp-delimiter at its
      boundaries.
      
      * progmodes/cc-langs.el (c-before-font-lock-function):
      c-extend-and-neutralize-syntax-in-CPP has been renamed
      c-neutralize-syntax-in-and-mark-CPP.
      
      * progmodes/cc-fonts.el (c-cpp-matchers): Mark template brackets
      with `category' properties now, not `syntax-table' ones.
      
      * progmodes/cc-engine.el (c-syntactic-end-of-macro): A new
      enhanced (but slower) version of c-end-of-macro that won't land
      inside a literal or on another awkward character.
      (c-state-cache-too-far, c-state-cache-start)
      (c-state-nonlit-pos-interval, c-state-nonlit-pos-cache)
      (c-state-nonlit-pos-cache-limit, c-state-point-min)
      (c-state-point-min-lit-type, c-state-point-min-lit-start)
      (c-state-min-scan-pos, c-state-brace-pair-desert)
      (c-state-old-cpp-beg, c-state-old-cpp-end): New constants and
      buffer local variables.
      (c-state-literal-at, c-state-lit-beg)
      (c-state-cache-non-literal-place, c-state-get-min-scan-pos)
      (c-state-mark-point-min-literal, c-state-cache-top-lparen)
      (c-state-cache-top-paren, c-state-cache-after-top-paren)
      (c-get-cache-scan-pos, c-get-fallback-scan-pos)
      (c-state-balance-parens-backwards, c-parse-state-get-strategy)
      (c-renarrow-state-cache)
      (c-append-lower-brace-pair-to-state-cache)
      (c-state-push-any-brace-pair, c-append-to-state-cache)
      (c-remove-stale-state-cache)
      (c-remove-stale-state-cache-backwards, c-state-cache-init)
      (c-invalidate-state-cache-1, c-parse-state-1)
      (c-invalidate-state-cache): New defuns/defmacros/defsubsts.
      (c-parse-state): Enhanced and refactored.
      (c-debug-parse-state): Amended to deal with all the new variables.
      
      * progmodes/cc-defs.el (c-<-as-paren-syntax, c-mark-<-as-paren)
      (c->-as-paren-syntax, c-mark->-as-paren, c-unmark-<->-as-paren):
      modify to use category text properties rather than syntax-table
      ones.
      (c-suppress-<->-as-parens, c-restore-<->-as-parens): new defsubsts
      to switch off/on the syntactic paren property of C++ template
      delimiters using the category property.
      (c-with-<->-as-parens-suppressed): Macro to invoke code with
      template delims suppressed.
      (c-cpp-delimiter, c-set-cpp-delimiters, c-clear-cpp-delimiters):
      New constant/macros which apply category properties to the start
      and end of preprocessor constructs.
      (c-comment-out-cpps, c-uncomment-out-cpps): defsubsts which
      "comment out" the syntactic value of characters in preprocessor
      constructs.
      (c-with-cpps-commented-out)
      (c-with-all-but-one-cpps-commented-out): Macros to invoke code
      with characters in all or all but one preprocessor constructs
      "commented out".
      0ec1d2c5
  19. 05 Jan, 2009 1 commit
  20. 03 Sep, 2008 1 commit
  21. 06 May, 2008 1 commit
  22. 10 Apr, 2008 1 commit
  23. 19 Feb, 2008 1 commit
  24. 07 Jan, 2008 1 commit
  25. 23 Aug, 2007 1 commit
  26. 25 Jul, 2007 1 commit
  27. 06 Apr, 2007 1 commit
    • Alan Mackenzie's avatar
      Fix fontification of labels, and other things with ":". · 1379f2c5
      Alan Mackenzie authored
      * progmodes/cc-engine.el (c-forward-label): The function now
      returns 'goto-target, 'qt-2kwds-colon, 'qt-1kwd-colon, as well as
      the former t.
      
      * progmodes/cc-fonts.el (c-font-lock-declarations): Interpret the
      new return code from c-forward-label, fontifying tokens properly.
      Add some general comments throughout the file.
      1379f2c5
  28. 21 Jan, 2007 1 commit
  29. 15 Dec, 2006 1 commit
  30. 15 Nov, 2006 1 commit
  31. 10 Nov, 2006 1 commit
  32. 10 Jul, 2006 1 commit
  33. 10 Feb, 2006 1 commit
  34. 02 Dec, 2005 1 commit
  35. 01 Aug, 2005 1 commit
  36. 04 Jul, 2005 1 commit
  37. 17 Jun, 2005 1 commit
    • Miles Bader's avatar
      Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-430 · 579322ca
      Miles Bader authored
      Remove "-face" suffix from cc-mode faces
      
      2005-06-17  Miles Bader  <miles@gnu.org>
      
         * lisp/progmodes/cc-fonts.el (c-nonbreakable-space-face): Remove
         "-face" suffix from face name.
         (c-cpp-matchers): Use the variable `c-nonbreakable-space-face'
         instead of literal face.
      579322ca
  38. 23 May, 2005 1 commit
    • Martin Stjernholm's avatar
      2005-05-23 Martin Stjernholm <bug-cc-mode@gnu.org> · 3efc2cd7
      Martin Stjernholm authored
      	CC Mode update to 5.30.10:
      
      	* cc-fonts.el (c-font-lock-declarators): Fixed bug where the point
      	could go past the limit in decoration level 2, thereby causing
      	errors during interactive fontification.
      
      	* cc-mode.el (c-make-inherited-keymap): Fixed cc-bytecomp bug when
      	the file is evaluated interactively.
      
      	* cc-engine.el (c-guess-basic-syntax): Handle operator
      	declarations somewhat better in C++.
      
      	* cc-styles.el, cc-mode.el (c-run-mode-hooks): New helper macro to
      	make use of run-mode-hooks' which has been added in Emacs 21.1.
      
      	(c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode,
      	awk-mode): Use it.
      
      	(make-local-hook): Suppress warning about obsoleteness.
      
      	* cc-engine.el, cc-align.el, cc-cmds.el
      	(c-append-backslashes-forward, c-delete-backslashes-forward,
      	c-find-decl-spots, c-semi&comma-no-newlines-before-nonblanks):
      	Compensate for return value from forward-line' when it has moved
      	but not to a different line due to eob.
      
      	* cc-engine.el (c-guess-basic-syntax): Fixed anchoring in
      	objc-method-intro' and objc-method-args-cont'.
      
      2005-05-23  Alan Mackenzie  <bug-cc-mode@gnu.org>
      
      	CC Mode update to 5.30.10:
      
      	* cc-mode.el, cc-engine.el, cc-align.el: Change the FSF's address
      	in the copyright statement.  Incidentally, change "along with GNU
      	Emacs" to "along with this program" where it occurs.
      
      	* cc-mode.el: Add a fourth parameter t' to the awk-mode autoload,
      	so that it is interactive, hence can be found by M-x awk-mode
      	whilst cc-mode is yet to be loaded.  Reported by Glenn Morris
      	<gmorris+emacs@ast.cam.ac.uk>.
      
      	* cc-awk.el: Add character classes (e.g. "[:alpha:]") into AWK
      	Mode's regexps.
      
      2005-05-23  Kevin Ryde  <user42@zip.com.au>:
      
      	* cc-align.el (c-lineup-argcont): Ignore conses for {} pairs from
      	c-parse-state, to avoid a lisp error (on bad code).
      3efc2cd7
  39. 12 May, 2005 1 commit