diff options
| author | Stefan Monnier | 2003-07-05 00:36:30 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2003-07-05 00:36:30 +0000 |
| commit | 4d5bb891d69482b5d2a5a6bc89263068a0bd3ce7 (patch) | |
| tree | 33db83bd3c4e5559c416b07964989ebe3681251d | |
| parent | 1360464e6200d301ffb3d6c5b76735748f6c8f06 (diff) | |
| download | emacs-4d5bb891d69482b5d2a5a6bc89263068a0bd3ce7.tar.gz emacs-4d5bb891d69482b5d2a5a6bc89263068a0bd3ce7.zip | |
*** empty log message ***
| -rw-r--r-- | lisp/ChangeLog | 655 |
1 files changed, 319 insertions, 336 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9e9a7fae240..aa12b55cf7a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -6,6 +6,50 @@ | |||
| 6 | 6 | ||
| 7 | 2003-07-04 Stefan Monnier <monnier@cs.yale.edu> | 7 | 2003-07-04 Stefan Monnier <monnier@cs.yale.edu> |
| 8 | 8 | ||
| 9 | * emacs-lisp/cl-macs.el (cl-transform-lambda): Strip &cl-defs | ||
| 10 | thingies from constructors created by defstruct. | ||
| 11 | |||
| 12 | * emacs-lisp/bytecomp.el (byte-compile-defvar): Check and set | ||
| 13 | the default value of the variable. | ||
| 14 | (byte-code-meter): Move declaration to top level. | ||
| 15 | |||
| 16 | * pcvs-parse.el (cvs-parse-status): Ignore extra fields from CVSNT. | ||
| 17 | |||
| 18 | * info.el (Info-following-node-name-re): New fun. | ||
| 19 | (Info-following-node-name): Remove. | ||
| 20 | (Info-insert-dir): Use the new fun. | ||
| 21 | (Info-extract-pointer): Don't save restriction; use new fun. | ||
| 22 | (Info-menu-entry-name-re): New const. | ||
| 23 | (Info-menu-entry-name-re): Use it along with new fun. | ||
| 24 | (Info-node-spec-re): Use new fun. | ||
| 25 | (Info-complete-menu-item, Info-fontify-node): Use new const. | ||
| 26 | (Info-goto-node, Info-follow-reference, Info-menu-update): | ||
| 27 | Use match-string. | ||
| 28 | (Info-follow-reference): Use assoc-string. | ||
| 29 | Use a list of strings for the completion table. | ||
| 30 | (Info-fontify-node): Use match-string, line-end-position. | ||
| 31 | Limit the search for `node:' to the first line. | ||
| 32 | |||
| 33 | * newcomment.el (uncomment-region): Remove padding coming from | ||
| 34 | comment-start rather than just from comment-padding. | ||
| 35 | |||
| 36 | * vc-cvs.el (vc-cvs-repository-hostname): New operation. | ||
| 37 | (vc-cvs-stay-local-p): Use vc-stay-local-p. | ||
| 38 | (vc-cvs-rename-file): Remove (use the default). | ||
| 39 | (vc-cvs-register): Register parent dir if needed. | ||
| 40 | (vc-cvs-could-register): Return non-nil if parent can be registered. | ||
| 41 | (vc-cvs-state, vc-cvs-dir-state, vc-cvs-print-log, vc-cvs-diff) | ||
| 42 | (vc-cvs-diff-tree, vc-cvs-make-version-backups-p): Use vc-stay-local-p. | ||
| 43 | |||
| 44 | * vc-svn.el (vc-svn-use-edit): Make it into a const. | ||
| 45 | (vc-svn-update): Fix the arguments to `svn'. | ||
| 46 | (vc-svn-diff-tree): Just use `vc-svn-diff'. | ||
| 47 | (vc-svn-create-snapshot, vc-svn-retrieve-snapshot): | ||
| 48 | Simple implementations, assuming `name' is a URL. | ||
| 49 | |||
| 50 | * progmodes/sh-script.el (sh-font-lock-paren): Add [ and ] to the | ||
| 51 | set of chars allowed unquoted in a case pattern. | ||
| 52 | |||
| 9 | * font-core.el (font-lock-defaults-alist): Remove obsolete entries. | 53 | * font-core.el (font-lock-defaults-alist): Remove obsolete entries. |
| 10 | 54 | ||
| 11 | * font-lock.el (font-lock-extra-types-widget) | 55 | * font-lock.el (font-lock-extra-types-widget) |
| @@ -31,7 +75,7 @@ | |||
| 31 | 75 | ||
| 32 | 2003-07-04 Martin Stjernholm <mast@lysator.liu.se> | 76 | 2003-07-04 Martin Stjernholm <mast@lysator.liu.se> |
| 33 | 77 | ||
| 34 | * generic-x.el: Did away with the dependency on `c-emacs-features' | 78 | * generic-x.el: Do away with the dependency on `c-emacs-features' |
| 35 | when populating `rul-generic-mode-syntax-table'; we already know | 79 | when populating `rul-generic-mode-syntax-table'; we already know |
| 36 | this isn't XEmacs. | 80 | this isn't XEmacs. |
| 37 | 81 | ||
| @@ -39,14 +83,13 @@ | |||
| 39 | 83 | ||
| 40 | * progmodes/cc-menus.el (cc-imenu-init): Do not set | 84 | * progmodes/cc-menus.el (cc-imenu-init): Do not set |
| 41 | `imenu-create-index-function' if the second argument is left | 85 | `imenu-create-index-function' if the second argument is left |
| 42 | out. This bug broke the imenu support in C, C++ and Java | 86 | out. This bug broke the imenu support in C, C++ and Java modes. |
| 43 | modes. | ||
| 44 | 87 | ||
| 45 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 88 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 46 | 89 | ||
| 47 | * progmodes/cc-engine.el, progmodes/cc-align.el | 90 | * progmodes/cc-engine.el, progmodes/cc-align.el |
| 48 | (c-add-stmt-syntax, c-lineup-arglist, | 91 | (c-add-stmt-syntax, c-lineup-arglist) |
| 49 | c-lineup-arglist-close-under-paren): Fixes to cope with | 92 | (c-lineup-arglist-close-under-paren): Fixes to cope with |
| 50 | special brace lists in Pike. | 93 | special brace lists in Pike. |
| 51 | 94 | ||
| 52 | 2003-07-03 Alan Mackenzie <bug-cc-mode@gnu.org> | 95 | 2003-07-03 Alan Mackenzie <bug-cc-mode@gnu.org> |
| @@ -59,7 +102,7 @@ | |||
| 59 | 102 | ||
| 60 | 2003-07-03 Alan Mackenzie <bug-cc-mode@gnu.org> | 103 | 2003-07-03 Alan Mackenzie <bug-cc-mode@gnu.org> |
| 61 | 104 | ||
| 62 | * progmodes/cc-awk.el, progmodes/cc-engine.el: Added code to | 105 | * progmodes/cc-awk.el, progmodes/cc-engine.el: Add code to |
| 63 | analyze AWK top-level forms properly (c-guess-basic-syntax | 106 | analyze AWK top-level forms properly (c-guess-basic-syntax |
| 64 | CASE 5P), c-awk-backward-syntactic-ws. | 107 | CASE 5P), c-awk-backward-syntactic-ws. |
| 65 | 108 | ||
| @@ -71,19 +114,18 @@ | |||
| 71 | 114 | ||
| 72 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 115 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 73 | 116 | ||
| 74 | * progmodes/cc-langs.el (c-paren-nontype-kwds): New language | 117 | * progmodes/cc-langs.el (c-paren-nontype-kwds): New language constant. |
| 75 | constant. | ||
| 76 | 118 | ||
| 77 | (c-other-decl-kwds, c-postfix-decl-spec-kwds): Added compiler | 119 | (c-other-decl-kwds, c-postfix-decl-spec-kwds): Add compiler |
| 78 | specific declspec keywords: __attribute__ for gcc and | 120 | specific declspec keywords: __attribute__ for gcc and |
| 79 | __declspec for msvc. | 121 | __declspec for msvc. |
| 80 | 122 | ||
| 81 | * progmodes/cc-fonts.el (c-font-lock-declarations, | 123 | * progmodes/cc-fonts.el (c-font-lock-declarations) |
| 82 | c-complex-decl-matchers): Support specifiers in a couple more | 124 | (c-complex-decl-matchers): Support specifiers in a couple more |
| 83 | contexts to cope with msvc '__declspec'. | 125 | contexts to cope with msvc '__declspec'. |
| 84 | 126 | ||
| 85 | * progmodes/cc-engine.el (c-forward-keyword-clause): Support | 127 | * progmodes/cc-engine.el (c-forward-keyword-clause): |
| 86 | `c-paren-nontype-kwds'. | 128 | Support `c-paren-nontype-kwds'. |
| 87 | 129 | ||
| 88 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 130 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 89 | 131 | ||
| @@ -92,8 +134,8 @@ | |||
| 92 | 134 | ||
| 93 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 135 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 94 | 136 | ||
| 95 | * progmodes/cc-bytecomp.el (cc-bytecomp-setup-environment): Do | 137 | * progmodes/cc-bytecomp.el (cc-bytecomp-setup-environment): |
| 96 | not cover functions that have been bound. | 138 | Do not cover functions that have been bound. |
| 97 | 139 | ||
| 98 | (cc-external-require): New macro to use for requiring external | 140 | (cc-external-require): New macro to use for requiring external |
| 99 | packages, to handle the environment correctly. | 141 | packages, to handle the environment correctly. |
| @@ -104,14 +146,13 @@ | |||
| 104 | 146 | ||
| 105 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 147 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 106 | 148 | ||
| 107 | * progmodes/cc-engine.el (c-beginning-of-member-init-list, | 149 | * progmodes/cc-engine.el (c-beginning-of-member-init-list) |
| 108 | c-guess-basic-syntax): Fixes in handling of bitfields. | 150 | (c-guess-basic-syntax): Fixes in handling of bitfields. |
| 109 | 151 | ||
| 110 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 152 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 111 | 153 | ||
| 112 | * progmodes/cc-langs.el (comment-end): Put a space in front of | 154 | * progmodes/cc-langs.el (comment-end): Put a space in front of |
| 113 | the comment ender in C, as it was before the move from | 155 | the comment ender in C, as it was before the move from cc-mode.el. |
| 114 | progmodes/cc-mode.el. | ||
| 115 | 156 | ||
| 116 | 2003-07-03 Alan Mackenzie <bug-cc-mode@gnu.org> | 157 | 2003-07-03 Alan Mackenzie <bug-cc-mode@gnu.org> |
| 117 | 158 | ||
| @@ -137,7 +178,7 @@ | |||
| 137 | 178 | ||
| 138 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 179 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 139 | 180 | ||
| 140 | * progmodes/cc-mode.el (c-initialize-cc-mode): Added some | 181 | * progmodes/cc-mode.el (c-initialize-cc-mode): Add some |
| 141 | compatibility to make this function behave somewhat more as | 182 | compatibility to make this function behave somewhat more as |
| 142 | documented for derived modes. It's still not enough to make | 183 | documented for derived modes. It's still not enough to make |
| 143 | the old AWK mode behave reasonably, but it's been like this a | 184 | the old AWK mode behave reasonably, but it's been like this a |
| @@ -149,16 +190,15 @@ | |||
| 149 | * progmodes/cc-fonts.el (c-remove-font-lock-face): New macro | 190 | * progmodes/cc-fonts.el (c-remove-font-lock-face): New macro |
| 150 | to remove a font lock face properly (especially in XEmacs). | 191 | to remove a font lock face properly (especially in XEmacs). |
| 151 | 192 | ||
| 152 | * progmodes/cc-bytecomp.el (cc-bytecomp-obsolete-fun): Added | 193 | * progmodes/cc-bytecomp.el (cc-bytecomp-obsolete-fun): |
| 153 | the same kludge as in `cc-bytecomp-obsolete-var' to avoid a | 194 | Add the same kludge as in `cc-bytecomp-obsolete-var' to avoid a |
| 154 | confused compiler warning. | 195 | confused compiler warning. |
| 155 | 196 | ||
| 156 | * progmodes/cc-engine.el (c-forward-type): Fixed a bug in the | 197 | * progmodes/cc-engine.el (c-forward-type): Fix a bug in the |
| 157 | handling of concatenated types when the component types are | 198 | handling of concatenated types when the component types are known. |
| 158 | known. | ||
| 159 | 199 | ||
| 160 | * progmodes/cc-fonts.el (c-constant-face-name): Added face name variable to | 200 | * progmodes/cc-fonts.el (c-constant-face-name): Add face name variable |
| 161 | avoid the use of `font-lock-constant-face' for constants in | 201 | to avoid the use of `font-lock-constant-face' for constants in |
| 162 | emacsen that doesn't have it. | 202 | emacsen that doesn't have it. |
| 163 | 203 | ||
| 164 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 204 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| @@ -169,18 +209,17 @@ | |||
| 169 | 209 | ||
| 170 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 210 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 171 | 211 | ||
| 172 | * progmodes/cc-mode.el (c-basic-common-init): Use | 212 | * progmodes/cc-mode.el (c-basic-common-init): |
| 173 | `open-paren-in-column-0-is-defun-start' if it exists and | 213 | Use `open-paren-in-column-0-is-defun-start' if it exists and works. |
| 174 | works. | ||
| 175 | 214 | ||
| 176 | * progmodes/cc-vars.el (c-emacs-features): Added `col-0-paren' | 215 | * progmodes/cc-vars.el (c-emacs-features): Add `col-0-paren' |
| 177 | to detect when `open-paren-in-column-0-is-defun-start' exists | 216 | to detect when `open-paren-in-column-0-is-defun-start' exists |
| 178 | and actually works. | 217 | and actually works. |
| 179 | 218 | ||
| 180 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 219 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 181 | 220 | ||
| 182 | * progmodes/cc-align.el (c-lineup-argcont, | 221 | * progmodes/cc-align.el (c-lineup-argcont, c-lineup-gcc-asm-reg): |
| 183 | c-lineup-gcc-asm-reg): Don't quote nil in docstrings. | 222 | Don't quote nil in docstrings. |
| 184 | 223 | ||
| 185 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 224 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 186 | 225 | ||
| @@ -191,7 +230,6 @@ | |||
| 191 | the former a bit less hardcoded by putting it on | 230 | the former a bit less hardcoded by putting it on |
| 192 | `c-font-lock-extra-types' instead. There are also "bool" and | 231 | `c-font-lock-extra-types' instead. There are also "bool" and |
| 193 | "_Bool" that work the same way. | 232 | "_Bool" that work the same way. |
| 194 | |||
| 195 | (c-constant-kwds): "false" and "true" are standard constant | 233 | (c-constant-kwds): "false" and "true" are standard constant |
| 196 | macros in C99. | 234 | macros in C99. |
| 197 | 235 | ||
| @@ -202,8 +240,8 @@ | |||
| 202 | progmodes/cc-cmds.el: Fixed various regexps to use POSIX char | 240 | progmodes/cc-cmds.el: Fixed various regexps to use POSIX char |
| 203 | classes when that is supported. | 241 | classes when that is supported. |
| 204 | 242 | ||
| 205 | * progmodes/cc-defs.el (c-alpha, c-alnum, c-digit, c-upper, | 243 | * progmodes/cc-defs.el (c-alpha, c-alnum, c-digit, c-upper, c-lower): |
| 206 | c-lower): New constants to make it easier to create regexps | 244 | New constants to make it easier to create regexps |
| 207 | that use POSIX char classes in emacsen that support them. | 245 | that use POSIX char classes in emacsen that support them. |
| 208 | 246 | ||
| 209 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 247 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| @@ -213,7 +251,7 @@ | |||
| 213 | 251 | ||
| 214 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 252 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 215 | 253 | ||
| 216 | * progmodes/cc-mode.el (c-after-change): Added kludge for bug | 254 | * progmodes/cc-mode.el (c-after-change): Add kludge for bug |
| 217 | where this function sometimes gets positions outside the | 255 | where this function sometimes gets positions outside the |
| 218 | buffer range. | 256 | buffer range. |
| 219 | 257 | ||
| @@ -222,24 +260,24 @@ | |||
| 222 | * progmodes/cc-engine.el (c-beginning-of-member-init-list): | 260 | * progmodes/cc-engine.el (c-beginning-of-member-init-list): |
| 223 | Better handling of paretheses in unexpected places. | 261 | Better handling of paretheses in unexpected places. |
| 224 | 262 | ||
| 225 | * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Fixed a | 263 | * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Fix a |
| 226 | regexp match order problem that could cause empty template | 264 | regexp match order problem that could cause empty template |
| 227 | args on the form "<>" to be missed. | 265 | args on the form "<>" to be missed. |
| 228 | 266 | ||
| 229 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 267 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 230 | 268 | ||
| 231 | * progmodes/cc-engine.el (c-parse-state): Added kludge to | 269 | * progmodes/cc-engine.el (c-parse-state): Add kludge to |
| 232 | avoid an infinite loop when Emacs' open-paren-in-column-zero | 270 | avoid an infinite loop when Emacs' open-paren-in-column-zero |
| 233 | rule kicks in and causes the sexp functions to misbehave. | 271 | rule kicks in and causes the sexp functions to misbehave. |
| 234 | 272 | ||
| 235 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 273 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 236 | 274 | ||
| 237 | * progmodes/cc-engine.el (c-beginning-of-member-init-list): | 275 | * progmodes/cc-engine.el (c-beginning-of-member-init-list): |
| 238 | Fixed bug when C++-like code is encountered in non-C++ mode. | 276 | Fix bug when C++-like code is encountered in non-C++ mode. |
| 239 | 277 | ||
| 240 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 278 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 241 | 279 | ||
| 242 | * progmodes/cc-defs.el (c-make-keywords-re): Added option to | 280 | * progmodes/cc-defs.el (c-make-keywords-re): Add option to |
| 243 | specify the language to look up `c-nonsymbol-key' in. | 281 | specify the language to look up `c-nonsymbol-key' in. |
| 244 | 282 | ||
| 245 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 283 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| @@ -256,9 +294,9 @@ | |||
| 256 | * progmodes/cc-langs.el (c-literal-start-regexp): Yet another | 294 | * progmodes/cc-langs.el (c-literal-start-regexp): Yet another |
| 257 | language variable. | 295 | language variable. |
| 258 | 296 | ||
| 259 | * progmodes/cc-fonts.el (c-font-lock-doc-comments, | 297 | * progmodes/cc-fonts.el (c-font-lock-doc-comments) |
| 260 | c-find-invalid-doc-markup, javadoc-font-lock-keywords): Fixed | 298 | (c-find-invalid-doc-markup, javadoc-font-lock-keywords): |
| 261 | fontification of the markup in Javadoc comments. | 299 | Fix fontification of the markup in Javadoc comments. |
| 262 | 300 | ||
| 263 | * progmodes/cc-engine.el: Fixes in face handling to cope with | 301 | * progmodes/cc-engine.el: Fixes in face handling to cope with |
| 264 | doc comments. | 302 | doc comments. |
| @@ -270,19 +308,18 @@ | |||
| 270 | faces at positions easier. | 308 | faces at positions easier. |
| 271 | 309 | ||
| 272 | * progmodes/cc-defs.el (c-safe-scan-lists): New wrapper macro | 310 | * progmodes/cc-defs.el (c-safe-scan-lists): New wrapper macro |
| 273 | to avoid the warnings with too many args to `scan-lists' in | 311 | to avoid the warnings with too many args to `scan-lists' in Emacs. |
| 274 | Emacs. | ||
| 275 | 312 | ||
| 276 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 313 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 277 | 314 | ||
| 278 | * progmodes/cc-engine.el (c-syntactic-skip-backward): New | 315 | * progmodes/cc-engine.el (c-syntactic-skip-backward): |
| 279 | function to make syntactic searches in the backward direction | 316 | New function to make syntactic searches in the backward direction |
| 280 | easier. | 317 | easier. |
| 281 | 318 | ||
| 282 | (c-beginning-of-statement-1): Optimized skipping over large paren | 319 | (c-beginning-of-statement-1): Optimize skipping over large paren |
| 283 | sexps somewhat. | 320 | sexps somewhat. |
| 284 | 321 | ||
| 285 | (c-safe-position): Removed the odd macro handling which was | 322 | (c-safe-position): Remove the odd macro handling which was |
| 286 | centered around the point instead of the passed position. | 323 | centered around the point instead of the passed position. |
| 287 | 324 | ||
| 288 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 325 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| @@ -290,9 +327,9 @@ | |||
| 290 | * progmodes/cc-engine.el (c-in-knr-argdecl): Do not trip up on | 327 | * progmodes/cc-engine.el (c-in-knr-argdecl): Do not trip up on |
| 291 | initialization expressions. | 328 | initialization expressions. |
| 292 | 329 | ||
| 293 | * progmodes/cc-align.el (c-lineup-arglist, | 330 | * progmodes/cc-align.el (c-lineup-arglist) |
| 294 | c-lineup-close-paren, c-lineup-arglist-close-under-paren): | 331 | (c-lineup-close-paren, c-lineup-arglist-close-under-paren): |
| 295 | Tuned the "macro block" heuristics to work better in nested | 332 | Tune the "macro block" heuristics to work better in nested |
| 296 | arglist situations. | 333 | arglist situations. |
| 297 | 334 | ||
| 298 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 335 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| @@ -303,15 +340,15 @@ | |||
| 303 | 340 | ||
| 304 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 341 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 305 | 342 | ||
| 306 | * progmodes/cc-mode.el (c-basic-common-init): Install | 343 | * progmodes/cc-mode.el (c-basic-common-init): |
| 307 | `c-fill-paragraph' on `fill-paragraph-function'. Although | 344 | Install `c-fill-paragraph' on `fill-paragraph-function'. |
| 308 | it's not the normal way to call it in a CC Mode buffer it | 345 | Although it's not the normal way to call it in a CC Mode buffer it |
| 309 | makes a direct call to `fill-paragraph' work better. | 346 | makes a direct call to `fill-paragraph' work better. |
| 310 | 347 | ||
| 311 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 348 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 312 | 349 | ||
| 313 | * progmodes/cc-vars.el, progmodes/cc-mode.el | 350 | * progmodes/cc-vars.el, progmodes/cc-mode.el |
| 314 | (c-require-final-newline): Made this variable an alist to | 351 | (c-require-final-newline): Make this variable an alist to |
| 315 | specify a value for each language. The default value causes | 352 | specify a value for each language. The default value causes |
| 316 | `require-final-newline' to be set to t only in languages where | 353 | `require-final-newline' to be set to t only in languages where |
| 317 | the standard requires a final newline. | 354 | the standard requires a final newline. |
| @@ -319,7 +356,7 @@ | |||
| 319 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 356 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 320 | 357 | ||
| 321 | * progmodes/cc-mode.el, progmodes/cc-vars.el | 358 | * progmodes/cc-mode.el, progmodes/cc-vars.el |
| 322 | (c-require-final-newline): Added a variable to make the | 359 | (c-require-final-newline): Add a variable to make the |
| 323 | initialization of `require-final-newline' more configurable. | 360 | initialization of `require-final-newline' more configurable. |
| 324 | 361 | ||
| 325 | * progmodes/cc-vars.el (c-mode-common-hook): Do not change the | 362 | * progmodes/cc-vars.el (c-mode-common-hook): Do not change the |
| @@ -328,8 +365,8 @@ | |||
| 328 | 365 | ||
| 329 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 366 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 330 | 367 | ||
| 331 | * progmodes/cc-fonts.el (javadoc-font-lock-keywords, | 368 | * progmodes/cc-fonts.el (javadoc-font-lock-keywords) |
| 332 | autodoc-font-lock-keywords): Support for Javadoc and Pike | 369 | (autodoc-font-lock-keywords): Support for Javadoc and Pike |
| 333 | Autodoc doc comments. | 370 | Autodoc doc comments. |
| 334 | 371 | ||
| 335 | * progmodes/cc-vars.el (c-doc-comment-style): New variable to | 372 | * progmodes/cc-vars.el (c-doc-comment-style): New variable to |
| @@ -345,69 +382,66 @@ | |||
| 345 | 382 | ||
| 346 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 383 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 347 | 384 | ||
| 348 | * progmodes/cc-cmds.el (c-guess-fill-prefix): Tuned the | 385 | * progmodes/cc-cmds.el (c-guess-fill-prefix): Tune the |
| 349 | heuristics of when to use `c-block-comment-prefix' for an | 386 | heuristics of when to use `c-block-comment-prefix' for an |
| 350 | unclosed block comment. | 387 | unclosed block comment. |
| 351 | 388 | ||
| 352 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 389 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 353 | 390 | ||
| 354 | * progmodes/cc-engine.el, progmodes/cc-langs.el | 391 | * progmodes/cc-engine.el, progmodes/cc-langs.el |
| 355 | (c-nonsymbol-sexp-kwds, c-forward-keyword-clause): Handle | 392 | (c-nonsymbol-sexp-kwds, c-forward-keyword-clause): |
| 356 | keywords like "extern" that can be followed by e.g. a string | 393 | Handle keywords like "extern" that can be followed by e.g. a string |
| 357 | literal. | 394 | literal. |
| 358 | 395 | ||
| 359 | * progmodes/cc-defs.el (c-make-keywords-re): Make a regexp | 396 | * progmodes/cc-defs.el (c-make-keywords-re): Make a regexp |
| 360 | correctly with one submatch when adorn is set and the list is | 397 | correctly with one submatch when adorn is set and the list is empty. |
| 361 | empty. | ||
| 362 | 398 | ||
| 363 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 399 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 364 | 400 | ||
| 365 | * progmodes/cc-fonts.el (c-font-lock-declarations): Fixed a | 401 | * progmodes/cc-fonts.el (c-font-lock-declarations): Fix a |
| 366 | search that could go far past the relevant region and cause | 402 | search that could go far past the relevant region and cause |
| 367 | slowness. Do not limit the declaration detection to the | 403 | slowness. Do not limit the declaration detection to the |
| 368 | fontified region since that can cause misfontification in | 404 | fontified region since that can cause misfontification in |
| 369 | multiline declarations. | 405 | multiline declarations. |
| 370 | 406 | ||
| 371 | * progmodes/cc-engine.el (c-find-decl-spots): Added limit | 407 | * progmodes/cc-engine.el (c-find-decl-spots): Add limit |
| 372 | argument to handle declarations spanning the fontification | 408 | argument to handle declarations spanning the fontification |
| 373 | limit better. | 409 | limit better. |
| 374 | 410 | ||
| 375 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 411 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 376 | 412 | ||
| 377 | * progmodes/cc-engine.el (c-in-literal, c-literal-limits, | 413 | * progmodes/cc-engine.el (c-in-literal, c-literal-limits) |
| 378 | c-literal-limits-fast, c-beginning-of-inheritance-list): Use | 414 | (c-literal-limits-fast, c-beginning-of-inheritance-list): |
| 379 | the paren cache instead of the impaired ad hoc in | 415 | Use the paren cache instead of the impaired ad hoc in |
| 380 | `beginning-of-defun', so that these functions doesn't trip up | 416 | `beginning-of-defun', so that these functions doesn't trip up |
| 381 | on "{" in the first column inside strings or comments. | 417 | on "{" in the first column inside strings or comments. |
| 382 | 418 | ||
| 383 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 419 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 384 | 420 | ||
| 385 | * progmodes/cc-vars.el (c-hanging-braces-alist): Added | 421 | * progmodes/cc-vars.el (c-hanging-braces-alist): |
| 386 | `statement-cont' and made it auto newline free by default. | 422 | Add `statement-cont' and made it auto newline free by default. |
| 387 | 423 | ||
| 388 | * progmodes/cc-cmds.el (c-electric-brace): Added | 424 | * progmodes/cc-cmds.el (c-electric-brace): |
| 389 | `statement-cont' to the list of syntactic symbols to consider | 425 | Add `statement-cont' to the list of syntactic symbols to consider |
| 390 | for auto newlines since it can be used for in-statement brace | 426 | for auto newlines since it can be used for in-statement brace lists. |
| 391 | lists. | ||
| 392 | 427 | ||
| 393 | * progmodes/cc-vars.el (c-emacs-features): There's no need to | 428 | * progmodes/cc-vars.el (c-emacs-features): There's no need to |
| 394 | have this constant autoloaded. | 429 | have this constant autoloaded. |
| 395 | 430 | ||
| 396 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 431 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 397 | 432 | ||
| 398 | * progmodes/cc-fonts.el (c-font-lock-declarations): Use | 433 | * progmodes/cc-fonts.el (c-font-lock-declarations): |
| 399 | `c-recognize-typeless-decls' to avoid fontifying some macro | 434 | Use `c-recognize-typeless-decls' to avoid fontifying some macro |
| 400 | constructs as declarations in languages where a preceding type | 435 | constructs as declarations in languages where a preceding type |
| 401 | is mandatory. | 436 | is mandatory. |
| 402 | 437 | ||
| 403 | * progmodes/cc-langs.el (c-recognize-typeless-decls): New | 438 | * progmodes/cc-langs.el (c-recognize-typeless-decls): |
| 404 | language variable. | 439 | New language variable. |
| 405 | 440 | ||
| 406 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 441 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 407 | 442 | ||
| 408 | * progmodes/cc-align.el (c-lineup-close-paren): Use | 443 | * progmodes/cc-align.el (c-lineup-close-paren): |
| 409 | `c-syntactic-eol' when checking if the open paren ends its | 444 | Use `c-syntactic-eol' when checking if the open paren ends its line. |
| 410 | line. | ||
| 411 | 445 | ||
| 412 | * progmodes/cc-langs.el (c-syntactic-eol): Handle a line | 446 | * progmodes/cc-langs.el (c-syntactic-eol): Handle a line |
| 413 | continuation backslash. | 447 | continuation backslash. |
| @@ -431,42 +465,39 @@ | |||
| 431 | 465 | ||
| 432 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 466 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 433 | 467 | ||
| 434 | * progmodes/cc-mode.el: Added autoload directives for the | 468 | * progmodes/cc-mode.el: Add autoload directives for the |
| 435 | interface functions in cc-langs. | 469 | interface functions in cc-langs. |
| 436 | 470 | ||
| 437 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 471 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 438 | 472 | ||
| 439 | * progmodes/cc-fonts.el (c-font-lock-declarations): Added a | 473 | * progmodes/cc-fonts.el (c-font-lock-declarations): Add a |
| 440 | property to handle refontication in multiline declaration | 474 | property to handle refontication in multiline declaration |
| 441 | arglists better. | 475 | arglists better. |
| 442 | |||
| 443 | (c-font-lock-<>-arglists): Fix to handle recursive template | 476 | (c-font-lock-<>-arglists): Fix to handle recursive template |
| 444 | arglists better. (As a side effect this will make | 477 | arglists better. (As a side effect this will make |
| 445 | fontification work better in older emacsen too.) | 478 | fontification work better in older emacsen too.) |
| 446 | 479 | ||
| 447 | * progmodes/cc-engine.el (c-forward-<>-arglist, | 480 | * progmodes/cc-engine.el (c-forward-<>-arglist) |
| 448 | c-remove-<>-arglist-properties): Use a common text property | 481 | (c-remove-<>-arglist-properties): Use a common text property |
| 449 | `c-type' for all sorts of CC Mode char classification, to | 482 | `c-type' for all sorts of CC Mode char classification, to |
| 450 | avoid cases when then same char is given conflicting types. | 483 | avoid cases when then same char is given conflicting types. |
| 451 | |||
| 452 | (c-forward-<>-arglist): New reparse argument to control that | 484 | (c-forward-<>-arglist): New reparse argument to control that |
| 453 | aspect explicitly. | 485 | aspect explicitly. |
| 454 | |||
| 455 | (c-forward-name, c-forward-type): Changes in the handling of | 486 | (c-forward-name, c-forward-type): Changes in the handling of |
| 456 | recursive template arglists. Fixes to cope with the new 'known | 487 | recursive template arglists. Fixes to cope with the new 'known |
| 457 | type classification. | 488 | type classification. |
| 458 | 489 | ||
| 459 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 490 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 460 | 491 | ||
| 461 | * progmodes/cc-mode.el (c-basic-common-init): Added the new | 492 | * progmodes/cc-mode.el (c-basic-common-init): Add the new |
| 462 | char property `c-type' to `text-property-default-nonsticky'. | 493 | char property `c-type' to `text-property-default-nonsticky'. |
| 463 | 494 | ||
| 464 | * progmodes/cc-defs.el (c-put-char-property, | 495 | * progmodes/cc-defs.el (c-put-char-property) |
| 465 | c-get-char-property, c-clear-char-property, | 496 | (c-get-char-property, c-clear-char-property) |
| 466 | c-clear-char-properties): Generalized `c-put-char-syntax' and | 497 | (c-clear-char-properties): Generalize `c-put-char-syntax' and |
| 467 | `c-get-char-syntax' to handle any property. | 498 | `c-get-char-syntax' to handle any property. |
| 468 | 499 | ||
| 469 | * progmodes/cc-bytecomp.el (cc-bytecomp-defun): Fixed bug that | 500 | * progmodes/cc-bytecomp.el (cc-bytecomp-defun): Fix bug that |
| 470 | caused existing function definitions to be overridden by | 501 | caused existing function definitions to be overridden by |
| 471 | phonies when the bytecomp environment is restored. | 502 | phonies when the bytecomp environment is restored. |
| 472 | 503 | ||
| @@ -474,10 +505,10 @@ | |||
| 474 | 505 | ||
| 475 | * progmodes/cc-cmds.el (c-mask-paragraph): Masking is | 506 | * progmodes/cc-cmds.el (c-mask-paragraph): Masking is |
| 476 | necessary in normal code too to avoid getting a fill prefix | 507 | necessary in normal code too to avoid getting a fill prefix |
| 477 | from a nearby comment. Changed the name from `c-mask-comment' | 508 | from a nearby comment. Change the name from `c-mask-comment' |
| 478 | to a more accurate one. | 509 | to a more accurate one. |
| 479 | 510 | ||
| 480 | * progmodes/cc-defs.el, progmodes/cc-mode.el: Changed the | 511 | * progmodes/cc-defs.el, progmodes/cc-mode.el: Change the |
| 481 | auto-load-alist strategy to not add entries on package load, | 512 | auto-load-alist strategy to not add entries on package load, |
| 482 | to be defensive in the case that autoloads are updated in | 513 | to be defensive in the case that autoloads are updated in |
| 483 | older emacsen. The bug that would occur in that case would | 514 | older emacsen. The bug that would occur in that case would |
| @@ -485,27 +516,25 @@ | |||
| 485 | 516 | ||
| 486 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 517 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 487 | 518 | ||
| 488 | * progmodes/cc-fonts.el (c-font-lock-declarations): Fine | 519 | * progmodes/cc-fonts.el (c-font-lock-declarations): |
| 489 | tuning of the decision tree that tells declarations from | 520 | Fine tuning of the decision tree that tells declarations from |
| 490 | expressions to produce better results in some ambiguous cases. | 521 | expressions to produce better results in some ambiguous cases. |
| 491 | 522 | ||
| 492 | * progmodes/cc-fonts.el (c-font-lock-syntactic-face-function): | 523 | * progmodes/cc-fonts.el (c-font-lock-syntactic-face-function): |
| 493 | Removed since it doesn't give the control we want. | 524 | Remove since it doesn't give the control we want. |
| 494 | |||
| 495 | (c-font-lock-invalid-string): Replacement for | 525 | (c-font-lock-invalid-string): Replacement for |
| 496 | `c-font-lock-syntactic-face-function' that puts the error face | 526 | `c-font-lock-syntactic-face-function' that puts the error face |
| 497 | on the string opener only, to avoid the annoying excessive use | 527 | on the string opener only, to avoid the annoying excessive use |
| 498 | of the error face while a string literal is being written. | 528 | of the error face while a string literal is being written. |
| 499 | |||
| 500 | (c-basic-matchers-before): Use `c-font-lock-invalid-string'. | 529 | (c-basic-matchers-before): Use `c-font-lock-invalid-string'. |
| 501 | 530 | ||
| 502 | * progmodes/cc-engine.el (c-string-syntax, | 531 | * progmodes/cc-engine.el (c-string-syntax) |
| 503 | c-string-limit-regexp): Added constants to use when handling | 532 | (c-string-limit-regexp): Add constants to use when handling |
| 504 | string limits, since not all old emacsen react well to the "|" | 533 | string limits, since not all old emacsen react well to the "|" |
| 505 | syntax class. | 534 | syntax class. |
| 506 | 535 | ||
| 507 | (c-literal-limits, c-literal-limits-fast, c-literal-type): Use | 536 | (c-literal-limits, c-literal-limits-fast, c-literal-type): |
| 508 | `c-string-syntax' and `c-string-limit-regexp'. Replaced some | 537 | Use `c-string-syntax' and `c-string-limit-regexp'. Replace some |
| 509 | hardcoded comment start regexps with `c-comment-start-regexp'. | 538 | hardcoded comment start regexps with `c-comment-start-regexp'. |
| 510 | 539 | ||
| 511 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 540 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| @@ -518,88 +547,75 @@ | |||
| 518 | * progmodes/cc-mode.el: Add the `auto-mode-alist' entries to | 547 | * progmodes/cc-mode.el: Add the `auto-mode-alist' entries to |
| 519 | the end instead of the start of the list, to avoid overriding | 548 | the end instead of the start of the list, to avoid overriding |
| 520 | user additions that are made before this file is loaded when | 549 | user additions that are made before this file is loaded when |
| 521 | the entries don't correspond to any already on | 550 | the entries don't correspond to any already on `auto-mode-alist'. |
| 522 | `auto-mode-alist'. | ||
| 523 | |||
| 524 | This is done through the third append argument to | 551 | This is done through the third append argument to |
| 525 | `auto-mode-alist'. That doesn't exist in older (X)Emacsen, so | 552 | `add-to-alist'. That doesn't exist in older (X)Emacsen, so |
| 526 | the function is adviced in cc-defs. However, that advice | 553 | the function is advised in cc-defs. However, that advice |
| 527 | doesn't help if the autoloads are updated in an old (X)Emacs | 554 | doesn't help if the autoloads are updated in an old (X)Emacs |
| 528 | with this version of CC Mode, but I believe it's unlikely that | 555 | with this version of CC Mode, but I believe it's unlikely that |
| 529 | anyone does that when CC Mode isn't distributed with with it. | 556 | anyone does that when CC Mode isn't distributed with with it. |
| 530 | 557 | ||
| 531 | * progmodes/cc-defs.el (add-to-list): Added advice to get the | 558 | * progmodes/cc-defs.el (add-to-list): Add advice to get the |
| 532 | optional third append argument in older (X)Emacsen. | 559 | optional third append argument in older (X)Emacsen. |
| 533 | 560 | ||
| 534 | * progmodes/cc-langs.el (c-keywords-obarray): Kludge for | 561 | * progmodes/cc-langs.el (c-keywords-obarray): Kludge for |
| 535 | strange bug in Emacs that gives so odd errors that I frankly | 562 | strange bug in Emacs that gives so odd errors that I frankly |
| 536 | don't even muster to begin trying to narrow it down. If | 563 | don't even muster to begin trying to narrow it down. |
| 537 | someone is so inclined, restore the commented code, byte | 564 | If someone is so inclined, restore the commented code, byte |
| 538 | compile, and try to open a C++ file or something in font lock | 565 | compile, and try to open a C++ file or something in font lock mode. |
| 539 | mode. | ||
| 540 | 566 | ||
| 541 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 567 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 542 | 568 | ||
| 543 | * progmodes/cc-langs.el: Updated the IDL support from the | 569 | * progmodes/cc-langs.el: Update the IDL support from the |
| 544 | specs. This also adds the keywords for the variants PSDL and | 570 | specs. This also adds the keywords for the variants PSDL and |
| 545 | CIDL. (This is mostly done from reading the grammars only; | 571 | CIDL. (This is mostly done from reading the grammars only; |
| 546 | very lightly tested.) | 572 | very lightly tested.) |
| 547 | 573 | ||
| 548 | * progmodes/cc-langs.el (c-type-list-kwds): Added "new" in | 574 | * progmodes/cc-langs.el (c-type-list-kwds): Add "new" in Java. |
| 549 | Java. | ||
| 550 | 575 | ||
| 551 | * progmodes/cc-fonts.el: Made sure that | 576 | * progmodes/cc-fonts.el: Make sure that |
| 552 | `parse-sexp-lookup-properties' is properly insulated from | 577 | `parse-sexp-lookup-properties' is properly insulated from |
| 553 | clobbering by the font-lock package at all relevant entry | 578 | clobbering by the font-lock package at all relevant entry points. |
| 554 | points. | ||
| 555 | 579 | ||
| 556 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 580 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 557 | 581 | ||
| 558 | * progmodes/cc-langs.el (c-opt-after-id-concat-key): New | 582 | * progmodes/cc-langs.el (c-opt-after-id-concat-key): |
| 559 | language constant to make the recognition of identifier | 583 | New language constant to make the recognition of identifier |
| 560 | qualifiers more flexible. Recognize the identifier before | 584 | qualifiers more flexible. Recognize the identifier before |
| 561 | ".*" as a qualifier in Java. | 585 | ".*" as a qualifier in Java. |
| 562 | |||
| 563 | (c-identifier-key): Recognize "::*" inside identifiers in C++. | 586 | (c-identifier-key): Recognize "::*" inside identifiers in C++. |
| 564 | Recognize identifiers ending with ".*" in Java for the sake of | 587 | Recognize identifiers ending with ".*" in Java for the sake of |
| 565 | import directives. | 588 | import directives. |
| 566 | |||
| 567 | (c-type-list-kwds, c-ref-list-kwds): Recognize "import" and | 589 | (c-type-list-kwds, c-ref-list-kwds): Recognize "import" and |
| 568 | "package" declarations in Java. | 590 | "package" declarations in Java. |
| 569 | 591 | ||
| 570 | * progmodes/cc-vars.el (c-doc-face, c-doc-marker-face, | 592 | * progmodes/cc-vars.el (c-doc-face, c-doc-marker-face) |
| 571 | c-doc-markup-face): Removed since they aren't used (and | 593 | (c-doc-markup-face): Remove since they aren't used (and |
| 572 | probably won't be). | 594 | probably won't be). |
| 573 | 595 | ||
| 574 | * progmodes/cc-langs.el (c-ref-list-kwds): New language | 596 | * progmodes/cc-langs.el (c-ref-list-kwds): New language |
| 575 | constant to specify keywords followed by references. | 597 | constant to specify keywords followed by references. |
| 576 | |||
| 577 | (c-last-identifier-range): New variable to avoid going back to | 598 | (c-last-identifier-range): New variable to avoid going back to |
| 578 | search for the identifier to font lock after a call to | 599 | search for the identifier to font lock after a call to |
| 579 | `c-forward-name'. | 600 | `c-forward-name'. |
| 580 | 601 | (c-type-prefix-kwds, c-type-list-kwds): Fix classification of | |
| 581 | (c-type-prefix-kwds, c-type-list-kwds): Fixed classification of | ||
| 582 | "@interface" etc in Objective-C. | 602 | "@interface" etc in Objective-C. |
| 583 | 603 | ||
| 584 | * progmodes/cc-engine.el (c-forward-keyword-clause): Fixed | 604 | * progmodes/cc-engine.el (c-forward-keyword-clause): |
| 585 | handling of keyword prefixes in `c-type-list-kwds' and | 605 | Fix handling of keyword prefixes in `c-type-list-kwds' and |
| 586 | `c-colon-type-list-kwds' clauses. | 606 | `c-colon-type-list-kwds' clauses. |
| 587 | |||
| 588 | (c-keyword-sym, c-keyword-member): New functions to lookup and | 607 | (c-keyword-sym, c-keyword-member): New functions to lookup and |
| 589 | categorize keywords. | 608 | categorize keywords. |
| 590 | |||
| 591 | (c-forward-keyword-clause): New function to move over a keyword | 609 | (c-forward-keyword-clause): New function to move over a keyword |
| 592 | and its associated clause according to `c-<>-arglist-kwds' etc. | 610 | and its associated clause according to `c-<>-arglist-kwds' etc. |
| 593 | 611 | ||
| 594 | * progmodes/cc-langs.el (c-typeless-decl-kwds, | 612 | * progmodes/cc-langs.el (c-typeless-decl-kwds) |
| 595 | c-type-list-kwds, c-colon-type-list-kwds, | 613 | (c-type-list-kwds, c-colon-type-list-kwds) |
| 596 | c-colon-type-list-re, c-paren-type-kwds): New language | 614 | (c-colon-type-list-re, c-paren-type-kwds): New language |
| 597 | constants and variables to generalize the recognition of | 615 | constants and variables to generalize the recognition of |
| 598 | various language constructs. | 616 | various language constructs. |
| 599 | 617 | (c-keywords): Did away with the list of `*-kwds' constants. | |
| 600 | (c-keywords): Did away with the list of `*-kwds' constants. It's | 618 | It's now built through macro expansion. |
| 601 | now built through macro expansion. | ||
| 602 | |||
| 603 | (c-keywords-obarray): New language variable which contains each | 619 | (c-keywords-obarray): New language variable which contains each |
| 604 | keyword as a symbol, to make fast reverse lookup of keywords to | 620 | keyword as a symbol, to make fast reverse lookup of keywords to |
| 605 | the `*-kwds' lists they come from. | 621 | the `*-kwds' lists they come from. |
| @@ -607,67 +623,63 @@ | |||
| 607 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 623 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 608 | 624 | ||
| 609 | * progmodes/cc-defs.el (c-lang-defconst-eval-immediately): | 625 | * progmodes/cc-defs.el (c-lang-defconst-eval-immediately): |
| 610 | Added macro to be able to do direct evaluation in | 626 | Add macro to be able to do direct evaluation in |
| 611 | `c-lang-defconst' forms. | 627 | `c-lang-defconst' forms. |
| 612 | 628 | ||
| 613 | * progmodes/cc-engine.el (c-syntactic-re-search-forward): | 629 | * progmodes/cc-engine.el (c-syntactic-re-search-forward): |
| 614 | Fixed a bug which could cause the point to end up outside the | 630 | Fix a bug which could cause the point to end up outside the |
| 615 | containing sexp if PAREN-LEVEL was used. | 631 | containing sexp if PAREN-LEVEL was used. |
| 616 | 632 | ||
| 617 | * progmodes/cc-engine.el, progmodes/cc-fonts.el, | 633 | * progmodes/cc-engine.el, progmodes/cc-fonts.el, |
| 618 | progmodes/cc-langs.el: Generalized the C++ template arglist | 634 | progmodes/cc-langs.el: Generalize the C++ template arglist |
| 619 | support to handle angle bracket arglists in any language. | 635 | support to handle angle bracket arglists in any language. |
| 620 | 636 | (c-recognize-<>-arglists, c-<>-arglist-kwds) | |
| 621 | (c-recognize-<>-arglists, c-<>-arglist-kwds, | 637 | (c-opt-<>-arglist-start): New language variables to control |
| 622 | c-opt-<>-arglist-start): New language variables to control | ||
| 623 | angle bracket arglists. | 638 | angle bracket arglists. |
| 624 | |||
| 625 | (c-opt-type-suffix-key): Use `c-recognize-<>-arglists' in | 639 | (c-opt-type-suffix-key): Use `c-recognize-<>-arglists' in |
| 626 | Objective-C instead of matching a protocol reference list as a | 640 | Objective-C instead of matching a protocol reference list as a |
| 627 | type suffix. | 641 | type suffix. |
| 628 | 642 | ||
| 629 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 643 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 630 | 644 | ||
| 631 | * progmodes/cc-align.el (c-gnu-impose-minimum): Fixed a missing | 645 | * progmodes/cc-align.el (c-gnu-impose-minimum): Fix a missing |
| 632 | `save-excursion' that caused the point to jump around. | 646 | `save-excursion' that caused the point to jump around. |
| 633 | 647 | ||
| 634 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 648 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 635 | 649 | ||
| 636 | * progmodes/cc-mode.el, progmodes/cc-menus.el (objc-mode, | 650 | * progmodes/cc-mode.el, progmodes/cc-menus.el (objc-mode) |
| 637 | cc-imenu-init): Fixed initialization bug that has made the | 651 | (cc-imenu-init): Fix initialization bug that has made the |
| 638 | Objective-C support inoperational since 5.26. | 652 | Objective-C support inoperational since 5.26. |
| 639 | 653 | (cc-imenu-objc-generic-expression): Update submatch indices | |
| 640 | (cc-imenu-objc-generic-expression): Updated submatch indices | ||
| 641 | due to changes in `cc-imenu-c++-generic-expression'. | 654 | due to changes in `cc-imenu-c++-generic-expression'. |
| 642 | |||
| 643 | (cc-imenu-objc-function): Don't add an empty "C" menu since | 655 | (cc-imenu-objc-function): Don't add an empty "C" menu since |
| 644 | imenu doesn't like that. | 656 | imenu doesn't like that. |
| 645 | 657 | ||
| 646 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 658 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 647 | 659 | ||
| 648 | * progmodes/cc-align.el (c-lineup-arglist, | 660 | * progmodes/cc-align.el (c-lineup-arglist) |
| 649 | c-lineup-arglist-close-under-paren, c-lineup-close-paren): | 661 | (c-lineup-arglist-close-under-paren, c-lineup-close-paren): |
| 650 | Added DWIM to the functions that line up at or after the | 662 | Add DWIM to the functions that line up at or after the |
| 651 | arglist open paren to avoid that if there are brace blocks | 663 | arglist open paren to avoid that if there are brace blocks |
| 652 | inside, e.g. when a macro contains a code block. | 664 | inside, e.g. when a macro contains a code block. |
| 653 | 665 | ||
| 654 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 666 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 655 | 667 | ||
| 656 | * progmodes/cc-vars.el (objc-font-lock-extra-types): Changed | 668 | * progmodes/cc-vars.el (objc-font-lock-extra-types): |
| 657 | default to treat identifiers starting with capital letters as | 669 | Change default to treat identifiers starting with capital letters as |
| 658 | types, according to Objective-C naming conventions. The types | 670 | types, according to Objective-C naming conventions. The types |
| 659 | previously on the list is part of the language and therefore | 671 | previously on the list is part of the language and therefore |
| 660 | on `c-primitive-type-kwds' instead. | 672 | on `c-primitive-type-kwds' instead. |
| 661 | 673 | ||
| 662 | * progmodes/cc-fonts.el: Fixed font locking in Objective-C. | 674 | * progmodes/cc-fonts.el: Fix font locking in Objective-C. |
| 663 | Be more careful about returning nil from functions used | 675 | Be more careful about returning nil from functions used |
| 664 | directly as font-lock matchers. | 676 | directly as font-lock matchers. |
| 665 | 677 | ||
| 666 | * progmodes/cc-mode.el (c-font-lock-init): Made the syntax | 678 | * progmodes/cc-mode.el (c-font-lock-init): Make the syntax |
| 667 | table modification element of `font-lock-defaults' | 679 | table modification element of `font-lock-defaults' |
| 668 | parameterized over the languages. | 680 | parameterized over the languages. |
| 669 | 681 | ||
| 670 | * progmodes/cc-langs.el: Updated the Objective-C constants | 682 | * progmodes/cc-langs.el: Update the Objective-C constants |
| 671 | according to the language spec. The "@" chars that start | 683 | according to the language spec. The "@" chars that start |
| 672 | directives are now considered part of the keywords to make | 684 | directives are now considered part of the keywords to make |
| 673 | things easier. | 685 | things easier. |
| @@ -675,16 +687,15 @@ | |||
| 675 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 687 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 676 | 688 | ||
| 677 | * progmodes/cc-defs.el: (c-(up|down)-list-(forward|backward)): | 689 | * progmodes/cc-defs.el: (c-(up|down)-list-(forward|backward)): |
| 678 | Made the position optional and added docstrings. | 690 | Make the position optional and added docstrings. |
| 679 | 691 | ||
| 680 | (c-go-(up|down)-list-(forward|backward)): Added variants of the | 692 | (c-go-(up|down)-list-(forward|backward)): Add variants of the |
| 681 | above that move point and return successfulness instead. | 693 | above that move point and return successfulness instead. |
| 682 | 694 | ||
| 683 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 695 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 684 | 696 | ||
| 685 | * progmodes/cc-fonts.el (c-font-lock-<>-arglists): New | 697 | * progmodes/cc-fonts.el (c-font-lock-<>-arglists): |
| 686 | function to fontify all occurrences of template arglists in | 698 | New function to fontify all occurrences of template arglists in C++. |
| 687 | C++. | ||
| 688 | 699 | ||
| 689 | * progmodes/cc-engine.el (c-disallow-comma-in-<>-arglists): | 700 | * progmodes/cc-engine.el (c-disallow-comma-in-<>-arglists): |
| 690 | New variable to be able to avoid false recognition of template | 701 | New variable to be able to avoid false recognition of template |
| @@ -694,38 +705,36 @@ | |||
| 694 | 705 | ||
| 695 | * progmodes/cc-fonts.el, progmodes/cc-langs.el | 706 | * progmodes/cc-fonts.el, progmodes/cc-langs.el |
| 696 | (c-decl-prefix-re, c-font-lock-declarations): Match template | 707 | (c-decl-prefix-re, c-font-lock-declarations): Match template |
| 697 | open brackets to get a declaration in the first template | 708 | open brackets to get a declaration in the first template argument. |
| 698 | argument. | ||
| 699 | |||
| 700 | (c-complex-decl-matchers): Fontify the second type in a "class | 709 | (c-complex-decl-matchers): Fontify the second type in a "class |
| 701 | X = Y" expression in C++. | 710 | X = Y" expression in C++. |
| 702 | 711 | ||
| 703 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 712 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 704 | 713 | ||
| 705 | * progmodes/cc-engine.el (c-forward-<>-arglist): Broke out the | 714 | * progmodes/cc-engine.el (c-forward-<>-arglist): Break out the |
| 706 | recursive part to a new function to improve efficiency when a | 715 | recursive part to a new function to improve efficiency when a |
| 707 | nested template arglist search turns out to be futile. | 716 | nested template arglist search turns out to be futile. |
| 708 | 717 | ||
| 709 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 718 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 710 | 719 | ||
| 711 | * progmodes/cc-menus.el (cc-imenu-java-generic-expression): | 720 | * progmodes/cc-menus.el (cc-imenu-java-generic-expression): |
| 712 | Improved to avoid false matches on e.g. "else if (foo)". | 721 | Improve to avoid false matches on e.g. "else if (foo)". |
| 713 | 722 | ||
| 714 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 723 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 715 | 724 | ||
| 716 | * progmodes/cc-engine.el (c-forward-token-2, | 725 | * progmodes/cc-engine.el (c-forward-token-2) |
| 717 | c-backward-token-2): New functions that work like the -1 | 726 | (c-backward-token-2): New functions that work like the -1 |
| 718 | variants but that handles multicharacter operator tokens. | 727 | variants but that handle multicharacter operator tokens. |
| 719 | 728 | ||
| 720 | * progmodes/cc-engine.el (c-inside-bracelist-p, | 729 | * progmodes/cc-engine.el (c-inside-bracelist-p) |
| 721 | c-guess-basic-syntax): Did away with the hardcoded regexps to | 730 | (c-guess-basic-syntax): Do away with the hardcoded regexps to |
| 722 | recognize "typedef" declaration prefixes, "extern" and | 731 | recognize "typedef" declaration prefixes, "extern" and |
| 723 | "namespace" blocks, "enum"-style brace list declarations and | 732 | "namespace" blocks, "enum"-style brace list declarations and |
| 724 | Java-style array initializers with "new". | 733 | Java-style array initializers with "new". |
| 725 | 734 | ||
| 726 | * progmodes/cc-langs.el (c-brace-list-decl-kwds, | 735 | * progmodes/cc-langs.el (c-brace-list-decl-kwds) |
| 727 | c-brace-list-key, c-inexpr-brace-list-kwds, | 736 | (c-brace-list-key, c-inexpr-brace-list-kwds) |
| 728 | c-opt-inexpr-brace-list-key): New language constants and | 737 | (c-opt-inexpr-brace-list-key): New language constants and |
| 729 | variables to parameterize some more of the hardcoded regexps | 738 | variables to parameterize some more of the hardcoded regexps |
| 730 | in cc-engine. | 739 | in cc-engine. |
| 731 | 740 | ||
| @@ -748,75 +757,70 @@ | |||
| 748 | initializes the language variables. It's necessary that the | 757 | initializes the language variables. It's necessary that the |
| 749 | caller does that directly since the evaluated values for them | 758 | caller does that directly since the evaluated values for them |
| 750 | now get compiled in directly. | 759 | now get compiled in directly. |
| 751 | 760 | (c-font-lock-init, c-common-init): Separate the font-lock | |
| 752 | (c-font-lock-init, c-common-init): Separated the font-lock | ||
| 753 | initialization from `c-common-init'. | 761 | initialization from `c-common-init'. |
| 754 | 762 | ||
| 755 | * progmodes/cc-mode.el (c-define-abbrev-table): Do not | 763 | * progmodes/cc-mode.el (c-define-abbrev-table): Do not |
| 756 | override an existing abbrev table. | 764 | override an existing abbrev table. |
| 757 | 765 | (c-Java-defun-prompt-regexp): Move here from cc-langs since | |
| 758 | (c-Java-defun-prompt-regexp): Moved here from cc-langs since | ||
| 759 | cc-langs isn't always loaded at runtime. | 766 | cc-langs isn't always loaded at runtime. |
| 760 | 767 | ||
| 761 | * progmodes/cc-langs.el (c-make-init-lang-vars-fun, | 768 | * progmodes/cc-langs.el (c-make-init-lang-vars-fun) |
| 762 | c-init-language-vars): Changed to allow language variable | 769 | (c-init-language-vars): Change to allow language variable |
| 763 | initialization from derived modes. | 770 | initialization from derived modes. |
| 764 | |||
| 765 | (c-mode-menu): New language variable for the mode menu. | 771 | (c-mode-menu): New language variable for the mode menu. |
| 766 | 772 | (c-make-mode-syntax-table, c-mode-syntax-table) | |
| 767 | (c-make-mode-syntax-table, c-mode-syntax-table, | 773 | (make-c++-template-syntax-table): New language variables for syntax |
| 768 | make-c++-template-syntax-table): New language variables for syntax | ||
| 769 | tables. The code that initializes them has been moved to cc-mode | 774 | tables. The code that initializes them has been moved to cc-mode |
| 770 | to make it possible to avoid loading cc-langs at runtime. | 775 | to make it possible to avoid loading cc-langs at runtime. |
| 771 | 776 | ||
| 772 | * progmodes/cc-engine.el, progmodes/cc-langs.el | 777 | * progmodes/cc-engine.el, progmodes/cc-langs.el |
| 773 | (c-hungry-delete-key, c-auto-newline, c-auto-hungry-string): | 778 | (c-hungry-delete-key, c-auto-newline, c-auto-hungry-string): |
| 774 | Moved these state variables from cc-langs to cc-engine to make | 779 | Move these state variables from cc-langs to cc-engine to make |
| 775 | it possible to avoid loading cc-langs at runtime. | 780 | it possible to avoid loading cc-langs at runtime. |
| 776 | 781 | ||
| 777 | * progmodes/cc-defs.el (c-lang-defconst, c-lang-const): Moved | 782 | * progmodes/cc-defs.el (c-lang-defconst, c-lang-const): |
| 778 | from cc-langs and rewritten to make the language constant | 783 | Move from cc-langs and rewritten to make the language constant |
| 779 | system usable from derived modes. | 784 | system usable from derived modes. |
| 780 | 785 | ||
| 781 | (c-add-language): New function intended for use from derived modes | 786 | (c-add-language): New function intended for use from derived modes |
| 782 | that add new C-like languages. | 787 | that add new C-like languages. |
| 783 | 788 | ||
| 784 | * progmodes/cc-defs.el, progmodes/cc-vars.el | 789 | * progmodes/cc-defs.el, progmodes/cc-vars.el |
| 785 | (c-buffer-is-cc-mode): Moved from cc-vars to cc-defs to define | 790 | (c-buffer-is-cc-mode): Move from cc-vars to cc-defs to define |
| 786 | it during compilation. | 791 | it during compilation. |
| 787 | 792 | ||
| 788 | * progmodes/cc-bytecomp.el (cc-require-when-compile): New | 793 | * progmodes/cc-bytecomp.el (cc-require-when-compile): |
| 789 | support macro for compile time `require's. | 794 | New support macro for compile time `require's. |
| 790 | 795 | ||
| 791 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 796 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 792 | 797 | ||
| 793 | * progmodes/cc-defs.el, progmodes/cc-mode.el (c-version): | 798 | * progmodes/cc-defs.el, progmodes/cc-mode.el (c-version): |
| 794 | Moved from cc-mode to cc-defs to make it accessible to the | 799 | Move from cc-mode to cc-defs to make it accessible to the |
| 795 | other components. | 800 | other components. |
| 796 | 801 | ||
| 797 | * progmodes/cc-engine.el (c-forward-token-1, | 802 | * progmodes/cc-engine.el (c-forward-token-1, c-backward-token-1): |
| 798 | c-backward-token-1): Compatibility fix for emacsen that | 803 | Compatibility fix for emacsen that doesn't understand generic |
| 799 | doesn't understand generic string delimiters. | 804 | string delimiters. |
| 800 | 805 | ||
| 801 | * progmodes/cc-vars.el (c-emacs-features): Added detection of | 806 | * progmodes/cc-vars.el (c-emacs-features): Add detection of |
| 802 | generic string and comment delimiters. | 807 | generic string and comment delimiters. |
| 803 | 808 | ||
| 804 | * progmodes/cc-defs.el, progmodes/cc-langs.el | 809 | * progmodes/cc-defs.el, progmodes/cc-langs.el |
| 805 | (c-make-keywords-re): Changed interface to make it more | 810 | (c-make-keywords-re): Change interface to make it more extensible. |
| 806 | extensible. | ||
| 807 | 811 | ||
| 808 | * progmodes/cc-langs.el, progmodes/cc-defs.el (c-regexp-opt, | 812 | * progmodes/cc-langs.el, progmodes/cc-defs.el (c-regexp-opt) |
| 809 | c-regexp-opt-depth, c-make-keywords-re): Moved from cc-langs | 813 | (c-regexp-opt-depth, c-make-keywords-re): Move from cc-langs |
| 810 | to cc-defs since they are generally useful. | 814 | to cc-defs since they are generally useful. |
| 811 | 815 | ||
| 812 | * progmodes/cc-bytecomp.el, progmodes/cc-defs.el | 816 | * progmodes/cc-bytecomp.el, progmodes/cc-defs.el |
| 813 | (cc-eval-when-compile): Moved from cc-bytecomp to cc-defs to | 817 | (cc-eval-when-compile): Move from cc-bytecomp to cc-defs to |
| 814 | allow use at runtime. | 818 | allow use at runtime. |
| 815 | 819 | ||
| 816 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 820 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 817 | 821 | ||
| 818 | * progmodes/cc-bytecomp.el (cc-eval-when-compile): Workaround | 822 | * progmodes/cc-bytecomp.el (cc-eval-when-compile): |
| 819 | for a bug with nested `eval-when-compile' in XEmacs 21. | 823 | Workaround for a bug with nested `eval-when-compile' in XEmacs 21. |
| 820 | 824 | ||
| 821 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 825 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 822 | 826 | ||
| @@ -829,23 +833,22 @@ | |||
| 829 | * progmodes/cc-align.el (c-lineup-cascaded-calls): Handle "." | 833 | * progmodes/cc-align.el (c-lineup-cascaded-calls): Handle "." |
| 830 | too, for use in Java. | 834 | too, for use in Java. |
| 831 | 835 | ||
| 832 | * progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Do | 836 | * progmodes/cc-engine.el (c-forward-sws, c-backward-sws): |
| 833 | not handle cpp directives in languages that doesn't have any. | 837 | Do not handle cpp directives in languages that doesn't have any. |
| 834 | 838 | ||
| 835 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 839 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 836 | 840 | ||
| 837 | * progmodes/cc-langs.el (c-operators): Added a high level | 841 | * progmodes/cc-langs.el (c-operators): Add a high level description |
| 838 | description of all operators, along with their precedence and | 842 | of all operators, along with their precedence and associativity. |
| 839 | associativity. | ||
| 840 | 843 | ||
| 841 | * progmodes/cc-align.el (c-lineup-multi-inher): Fixed bug | 844 | * progmodes/cc-align.el (c-lineup-multi-inher): Fix bug |
| 842 | where the position of the point and not the beginning of the | 845 | where the position of the point and not the beginning of the |
| 843 | line was used to calculate the indentation. | 846 | line was used to calculate the indentation. |
| 844 | 847 | ||
| 845 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 848 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 846 | 849 | ||
| 847 | * progmodes/cc-defs.el, progmodes/cc-engine.el | 850 | * progmodes/cc-defs.el, progmodes/cc-engine.el |
| 848 | (c-backward-single-comment, c-backward-comments): Added kludge | 851 | (c-backward-single-comment, c-backward-comments): Add kludge |
| 849 | for the bug in `forward-comment' in most (X)Emacs versions | 852 | for the bug in `forward-comment' in most (X)Emacs versions |
| 850 | where it moves back over the "*/" of a block comment if | 853 | where it moves back over the "*/" of a block comment if |
| 851 | there's no matching "/*". This has become more important now | 854 | there's no matching "/*". This has become more important now |
| @@ -853,12 +856,12 @@ | |||
| 853 | 856 | ||
| 854 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 857 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 855 | 858 | ||
| 856 | * progmodes/cc-cmds.el (c-hungry-backspace, | 859 | * progmodes/cc-cmds.el (c-hungry-backspace) |
| 857 | c-hungry-delete-forward): New functions to do hungry deletion | 860 | (c-hungry-delete-forward): New functions to do hungry deletion |
| 858 | regardless of hungry-delete mode. Contributed by Kevin Ryde. | 861 | regardless of hungry-delete mode. Contributed by Kevin Ryde. |
| 859 | 862 | ||
| 860 | * progmodes/cc-engine.el (c-forward-sws, c-backward-sws, | 863 | * progmodes/cc-engine.el (c-forward-sws, c-backward-sws) |
| 861 | c-invalidate-sws-region): Use text properties to cache regions | 864 | (c-invalidate-sws-region): Use text properties to cache regions |
| 862 | with complex syntactic whitespace. This helps a lot in | 865 | with complex syntactic whitespace. This helps a lot in |
| 863 | improving responsiveness when there are lots of comments and | 866 | improving responsiveness when there are lots of comments and |
| 864 | cpp directives before point. | 867 | cpp directives before point. |
| @@ -869,31 +872,30 @@ | |||
| 869 | progmodes/cc-menus.el, progmodes/cc-mode.el, | 872 | progmodes/cc-menus.el, progmodes/cc-mode.el, |
| 870 | progmodes/cc-styles.el, progmodes/cc-vars.el, | 873 | progmodes/cc-styles.el, progmodes/cc-vars.el, |
| 871 | progmodes/cc-engine.el, progmodes/cc-fonts.el, | 874 | progmodes/cc-engine.el, progmodes/cc-fonts.el, |
| 872 | progmodes/cc-cmds.el, progmodes/cc-defs.el: Introduced a | 875 | progmodes/cc-cmds.el, progmodes/cc-defs.el: Introduce a |
| 873 | classification of functions into those that make "hidden | 876 | classification of functions into those that make "hidden |
| 874 | buffer changes" and those who don't. This is prompted by the | 877 | buffer changes" and those who don't. This is prompted by the |
| 875 | increasing use of text properties for various things, to | 878 | increasing use of text properties for various things, to |
| 876 | correctly cover the silly buffer modifications that is caused | 879 | correctly cover the silly buffer modifications that is caused |
| 877 | by text property changes. | 880 | by text property changes. |
| 878 | |||
| 879 | (c-save-buffer-state): New macro that's put around any code that | 881 | (c-save-buffer-state): New macro that's put around any code that |
| 880 | can manipulate text properties. | 882 | can manipulate text properties. |
| 881 | 883 | ||
| 882 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 884 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 883 | 885 | ||
| 884 | * progmodes/cc-mode.el (c-basic-common-init): Setup | 886 | * progmodes/cc-mode.el (c-basic-common-init): |
| 885 | `text-property-default-nonsticky' to avoid messing with the | 887 | Setup `text-property-default-nonsticky' to avoid messing with the |
| 886 | rear-nonsticky property on each character in Emacs 21. | 888 | rear-nonsticky property on each character in Emacs 21. |
| 887 | 889 | ||
| 888 | * progmodes/cc-defs.el (c-clear-char-syntax, | 890 | * progmodes/cc-defs.el (c-clear-char-syntax, c-put-char-syntax): |
| 889 | c-put-char-syntax): Macros that sets and removes the | 891 | Macros that sets and removes the |
| 890 | syntax-table property on a single character and makes the | 892 | syntax-table property on a single character and makes the |
| 891 | property nonsticky in both directions in a suitable way for | 893 | property nonsticky in both directions in a suitable way for |
| 892 | each (X)Emacs flavor. | 894 | each (X)Emacs flavor. |
| 893 | 895 | ||
| 894 | * progmodes/cc-vars.el, progmodes/cc-defs.el, | 896 | * progmodes/cc-vars.el, progmodes/cc-defs.el, |
| 895 | progmodes/cc-engine.el, progmodes/cc-mode.el: Use | 897 | progmodes/cc-engine.el, progmodes/cc-mode.el: |
| 896 | `lookup-syntax-properties' in XEmacs to control whether the | 898 | Use `lookup-syntax-properties' in XEmacs to control whether the |
| 897 | syntax-table property has any effect or not. | 899 | syntax-table property has any effect or not. |
| 898 | 900 | ||
| 899 | (c-parse-sexp-lookup-properties): New macro that expands to either | 901 | (c-parse-sexp-lookup-properties): New macro that expands to either |
| @@ -913,45 +915,42 @@ | |||
| 913 | and XEmacs now. | 915 | and XEmacs now. |
| 914 | 916 | ||
| 915 | * progmodes/cc-engine.el (c-forward-sws, c-backward-sws): | 917 | * progmodes/cc-engine.el (c-forward-sws, c-backward-sws): |
| 916 | Implemented a cache for the last large skipped over syntactic | 918 | Implement a cache for the last large skipped over syntactic |
| 917 | whitespace. This also has most effect after many macros. | 919 | whitespace. This also has most effect after many macros. |
| 918 | 920 | ||
| 919 | * progmodes/cc-engine.el, progmodes/cc-defs.el | 921 | * progmodes/cc-engine.el, progmodes/cc-defs.el |
| 920 | (c-forward-syntactic-ws, c-backward-syntactic-ws): Utilize the | 922 | (c-forward-syntactic-ws, c-backward-syntactic-ws): Utilize the |
| 921 | limit better when one is passed. These are now macros to | 923 | limit better when one is passed. These are now macros to |
| 922 | avoid a little overhead when no limit is given. | 924 | avoid a little overhead when no limit is given. |
| 923 | |||
| 924 | (c-forward-sws, c-backward-sws): New functions called by the | 925 | (c-forward-sws, c-backward-sws): New functions called by the |
| 925 | macros above to do the unbounded search. | 926 | macros above to do the unbounded search. |
| 926 | 927 | ||
| 927 | * progmodes/cc-fonts.el (c-font-lock-declarations): | 928 | * progmodes/cc-fonts.el (c-font-lock-declarations): |
| 928 | Implemented a cache for the first backward search for a | 929 | Implement a cache for the first backward search for a |
| 929 | preceding `c-decl-prefix-re' match. This typically speeds up | 930 | preceding `c-decl-prefix-re' match. This typically speeds up |
| 930 | interactive refontification a lot on the top level of macro | 931 | interactive refontification a lot on the top level of macro |
| 931 | heavy header files. | 932 | heavy header files. |
| 932 | 933 | ||
| 933 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 934 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 934 | 935 | ||
| 935 | * progmodes/cc-vars.el (c-emacs-features): Added check for | 936 | * progmodes/cc-vars.el (c-emacs-features): Add check for |
| 936 | syntax text properties. | 937 | syntax text properties. |
| 937 | 938 | ||
| 938 | * progmodes/cc-mode.el (c-basic-common-init): Turn on | 939 | * progmodes/cc-mode.el (c-basic-common-init): Turn on |
| 939 | `parse-sexp-lookup-properties' if it's supported. Define the | 940 | `parse-sexp-lookup-properties' if it's supported. Define the |
| 940 | variable in any case since it's used at runtime to check on | 941 | variable in any case since it's used at runtime to check on this. |
| 941 | this. | ||
| 942 | 942 | ||
| 943 | * progmodes/cc-langs.el (c-identifier-key): Support C++ | 943 | * progmodes/cc-langs.el (c-identifier-key): Support C++ |
| 944 | destructor names. | 944 | destructor names. |
| 945 | 945 | (c-identifier-start, c-op-token-regexp, c-type-modifier-kwds) | |
| 946 | (c-identifier-start, c-op-token-regexp, c-type-modifier-kwds, | 946 | (c-opt-type-modifier-key, c-opt-type-component-key) |
| 947 | c-opt-type-modifier-key, c-opt-type-component-key, | 947 | (c-typedef-specifier-kwds, c-typedef-specifier-key) |
| 948 | c-typedef-specifier-kwds, c-typedef-specifier-key, | 948 | (c-paren-stmt-kwds, c-paren-stmt-key, c-syntactic-ws-start): |
| 949 | c-paren-stmt-kwds, c-paren-stmt-key, c-syntactic-ws-start): A | 949 | A bunch of new language constants and variables to support the |
| 950 | bunch of new language constants and variables to support the | ||
| 951 | improved handling of names and types. | 950 | improved handling of names and types. |
| 952 | 951 | ||
| 953 | * progmodes/cc-fonts.el (c-font-lock-declarators, | 952 | * progmodes/cc-fonts.el (c-font-lock-declarators) |
| 954 | c-font-lock-declarations): Handle C++ template declarations | 953 | (c-font-lock-declarations): Handle C++ template declarations |
| 955 | and template references. Fontify complex types and names more | 954 | and template references. Fontify complex types and names more |
| 956 | accurately by delegating it to `c-forward-type' and | 955 | accurately by delegating it to `c-forward-type' and |
| 957 | `c-forward-name'. Fontify the identifiers in typedef | 956 | `c-forward-name'. Fontify the identifiers in typedef |
| @@ -961,41 +960,34 @@ | |||
| 961 | to move forward over a C++ template arglist. It also marks | 960 | to move forward over a C++ template arglist. It also marks |
| 962 | the '<' and '>' chars with paren syntax using the syntax-table | 961 | the '<' and '>' chars with paren syntax using the syntax-table |
| 963 | property, to speed up later calls in emacsen that support | 962 | property, to speed up later calls in emacsen that support |
| 964 | syntax text properties (Emacs >= 20 and (undocumented) XEmacs | 963 | syntax text properties (Emacs >= 20 and (undocumented) XEmacs 21). |
| 965 | 21). | ||
| 966 | |||
| 967 | This also has the very interesting effect that if font locking | 964 | This also has the very interesting effect that if font locking |
| 968 | is used with decoration level 3 or higher in these emacsen | 965 | is used with decoration level 3 or higher in these emacsen |
| 969 | then template arglists will behave just like paren sexps with | 966 | then template arglists will behave just like paren sexps with |
| 970 | the various sexp movement commands. | 967 | the various sexp movement commands. |
| 971 | |||
| 972 | (c-forward-name): New function to move over a name. Simple in | 968 | (c-forward-name): New function to move over a name. Simple in |
| 973 | most languages except C++ where a name can contain template | 969 | most languages except C++ where a name can contain template |
| 974 | arglists and therefore almost arbitrary expressions. | 970 | arglists and therefore almost arbitrary expressions. |
| 975 | |||
| 976 | (c-on-identifier): Fix for Pike operator identifiers. | 971 | (c-on-identifier): Fix for Pike operator identifiers. |
| 972 | (c-simple-skip-symbol-backward, c-syntactic-content) | ||
| 973 | (c-remove-<>-paren-properties): New helper functions. | ||
| 977 | 974 | ||
| 978 | (c-simple-skip-symbol-backward, c-syntactic-content, | 975 | * progmodes/cc-defs.el: (c-clear-char-syntax) |
| 979 | c-remove-<>-paren-properties): New helper functions. | 976 | (c-mark-paren-open, c-mark-paren-close): New support functions |
| 980 | 977 | to handle syntactic properties on C++ template arglist brackets. | |
| 981 | * progmodes/cc-defs.el: (c-clear-char-syntax, | ||
| 982 | c-mark-paren-open, c-mark-paren-close): New support functions | ||
| 983 | to handle syntactic properties on C++ template arglist | ||
| 984 | brackets. | ||
| 985 | |||
| 986 | (c-put-type-face, c-put-reference-face): Helpers to put faces on | 978 | (c-put-type-face, c-put-reference-face): Helpers to put faces on |
| 987 | regions, since there are a bit of that inside `c-forward-name' etc | 979 | regions, since there are a bit of that inside `c-forward-name' etc |
| 988 | in progmodes/cc-engine.el. | 980 | in progmodes/cc-engine.el. |
| 989 | 981 | ||
| 990 | * progmodes/cc-engine.el, progmodes/cc-fonts.el, | 982 | * progmodes/cc-engine.el, progmodes/cc-fonts.el, |
| 991 | progmodes/cc-langs.el: Fixed the names on a number of regexp | 983 | progmodes/cc-langs.el: Fix the names on a number of regexp |
| 992 | language variables to conform to the nomenclature and | 984 | language variables to conform to the nomenclature and |
| 993 | shortened some names. | 985 | shortened some names. |
| 994 | 986 | ||
| 995 | * progmodes/cc-align.el, progmodes/cc-cmds.el, | 987 | * progmodes/cc-align.el, progmodes/cc-cmds.el, |
| 996 | progmodes/cc-fonts.el, progmodes/cc-engine.el | 988 | progmodes/cc-fonts.el, progmodes/cc-engine.el |
| 997 | (c-syntactic-re-search-forward): Removed the COUNT argument | 989 | (c-syntactic-re-search-forward): Remove the COUNT argument |
| 998 | since it's never used. Added an argument to tell which | 990 | since it's never used. Add an argument to tell which |
| 999 | subexpression whose end should be tested for syntactic | 991 | subexpression whose end should be tested for syntactic |
| 1000 | relevance. Using this also removes some optimizations, so | 992 | relevance. Using this also removes some optimizations, so |
| 1001 | that it's possible to use a look behind subexpression that | 993 | that it's possible to use a look behind subexpression that |
| @@ -1005,8 +997,8 @@ | |||
| 1005 | (c-guess-continued-construct): Don't match <<= or >>= for the | 997 | (c-guess-continued-construct): Don't match <<= or >>= for the |
| 1006 | stream-op syntactic element. | 998 | stream-op syntactic element. |
| 1007 | 999 | ||
| 1008 | * progmodes/cc-defs.el (c-paren-re, c-identifier-re): Removed | 1000 | * progmodes/cc-defs.el (c-paren-re, c-identifier-re): |
| 1009 | these helper macros since better and more correct tools are | 1001 | Remove these helper macros since better and more correct tools are |
| 1010 | now available in progmodes/cc-langs.el. | 1002 | now available in progmodes/cc-langs.el. |
| 1011 | 1003 | ||
| 1012 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1004 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| @@ -1016,9 +1008,9 @@ | |||
| 1016 | 1008 | ||
| 1017 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1009 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1018 | 1010 | ||
| 1019 | * progmodes/cc-langs.el (c-populate-syntax-table): XEmacs | 1011 | * progmodes/cc-langs.el (c-populate-syntax-table): |
| 1020 | classifies the hard space character as a symbol character but | 1012 | XEmacs classifies the hard space character as a symbol character |
| 1021 | it's better to let it be in the punctuation class so that it's | 1013 | but it's better to let it be in the punctuation class so that it's |
| 1022 | always highlighted with the inverted invalid face. It can | 1014 | always highlighted with the inverted invalid face. It can |
| 1023 | perhaps be argued that that character is allowed in | 1015 | perhaps be argued that that character is allowed in |
| 1024 | identifiers in some languages (haven't checked), but using it | 1016 | identifiers in some languages (haven't checked), but using it |
| @@ -1026,7 +1018,7 @@ | |||
| 1026 | 1018 | ||
| 1027 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1019 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1028 | 1020 | ||
| 1029 | * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed a | 1021 | * progmodes/cc-engine.el (c-beginning-of-statement-1): Fix a |
| 1030 | case when a labeled substatement caused incorrect association | 1022 | case when a labeled substatement caused incorrect association |
| 1031 | of the following continuation clause. | 1023 | of the following continuation clause. |
| 1032 | 1024 | ||
| @@ -1036,19 +1028,19 @@ | |||
| 1036 | 1028 | ||
| 1037 | (c-guess-continued-construct): Analyze the "K&R region" of a | 1029 | (c-guess-continued-construct): Analyze the "K&R region" of a |
| 1038 | function nested inside a function as func-decl-cont and not | 1030 | function nested inside a function as func-decl-cont and not |
| 1039 | statement-cont. New case E. Also cleaned up case C (stream-op | 1031 | statement-cont. New case E. Also clean up case C (stream-op |
| 1040 | recognition) a bit. | 1032 | recognition) a bit. |
| 1041 | 1033 | ||
| 1042 | * progmodes/cc-engine.el (c-parse-state, c-check-state-cache): | 1034 | * progmodes/cc-engine.el (c-parse-state, c-check-state-cache): |
| 1043 | Moved the check on `c-state-cache-start' from | 1035 | Move the check on `c-state-cache-start' from |
| 1044 | `c-check-state-cache' to `c-parse-state' so that the state | 1036 | `c-check-state-cache' to `c-parse-state' so that the state |
| 1045 | cache isn't zapped if `c-check-state-cache' but not | 1037 | cache isn't zapped if `c-check-state-cache' but not |
| 1046 | `c-parse-state' is called during a temporary narrowing. This | 1038 | `c-parse-state' is called during a temporary narrowing. |
| 1047 | fixes a performance problem that could occur when | 1039 | This fixes a performance problem that could occur when |
| 1048 | `fill-paragraph' is used in font lock mode on a comment at the | 1040 | `fill-paragraph' is used in font lock mode on a comment at the |
| 1049 | end of a large class or function. | 1041 | end of a large class or function. |
| 1050 | 1042 | ||
| 1051 | (c-state-cache-start): Fixed buffer localness. | 1043 | (c-state-cache-start): Fix buffer localness. |
| 1052 | 1044 | ||
| 1053 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1045 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1054 | 1046 | ||
| @@ -1057,15 +1049,15 @@ | |||
| 1057 | 1049 | ||
| 1058 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1050 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1059 | 1051 | ||
| 1060 | * progmodes/cc-langs.el: Updated the keywords and operator | 1052 | * progmodes/cc-langs.el: Update the keywords and operator |
| 1061 | tokens from the latest C++ and Java standards. Some other | 1053 | tokens from the latest C++ and Java standards. Some other |
| 1062 | multichar token corrections. | 1054 | multichar token corrections. |
| 1063 | 1055 | ||
| 1064 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1056 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1065 | 1057 | ||
| 1066 | * progmodes/cc-cmds.el, progmodes/cc-engine.el, | 1058 | * progmodes/cc-cmds.el, progmodes/cc-engine.el, |
| 1067 | progmodes/cc-vars.el (c-syntactic-context, | 1059 | progmodes/cc-vars.el (c-syntactic-context) |
| 1068 | c-syntactic-element): Do not bind any values to these | 1060 | (c-syntactic-element): Do not bind any values to these |
| 1069 | variables globally since they should always be dynamically | 1061 | variables globally since they should always be dynamically |
| 1070 | bound. This makes it much easier to debug cases when they've | 1062 | bound. This makes it much easier to debug cases when they've |
| 1071 | gotten global values somehow. | 1063 | gotten global values somehow. |
| @@ -1074,26 +1066,25 @@ | |||
| 1074 | 1066 | ||
| 1075 | * progmodes/cc-langs.el (c-regexp-opt): Fix to work around the | 1067 | * progmodes/cc-langs.el (c-regexp-opt): Fix to work around the |
| 1076 | non-greedy behavior that the regexp engine sometimes exposes. | 1068 | non-greedy behavior that the regexp engine sometimes exposes. |
| 1077 | This bug only shows in (X)Emacs 19 where there's no regexp-opt | 1069 | This bug only shows in (X)Emacs 19 where there's no regexp-opt package. |
| 1078 | package. | ||
| 1079 | 1070 | ||
| 1080 | * progmodes/cc-engine.el (c-syntactic-re-search-forward): | 1071 | * progmodes/cc-engine.el (c-syntactic-re-search-forward): |
| 1081 | Added a feature to filter out matches in the middle of tokens. | 1072 | Add a feature to filter out matches in the middle of tokens. |
| 1082 | Changed the comment to a docstring since I consider this | 1073 | Changed the comment to a docstring since I consider this |
| 1083 | function generally useful. | 1074 | function generally useful. |
| 1084 | 1075 | ||
| 1085 | * progmodes/cc-defs.el (c-mode-symbol): Broke out a part of | 1076 | * progmodes/cc-defs.el (c-mode-symbol): Break out a part of |
| 1086 | `c-mode-var'. | 1077 | `c-mode-var'. |
| 1087 | 1078 | ||
| 1088 | * progmodes/cc-align.el (c-lineup-cascaded-calls, | 1079 | * progmodes/cc-align.el (c-lineup-cascaded-calls) |
| 1089 | c-lineup-gcc-asm-reg): Cope with that `c-most-enclosing-brace' | 1080 | (c-lineup-gcc-asm-reg): Cope with that `c-most-enclosing-brace' |
| 1090 | might return nil. | 1081 | might return nil. |
| 1091 | 1082 | ||
| 1092 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1083 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1093 | 1084 | ||
| 1094 | * progmodes/cc-engine.el (c-found-types, c-clear-found-types, | 1085 | * progmodes/cc-engine.el (c-found-types, c-clear-found-types) |
| 1095 | c-add-type, c-check-type, c-add-complex-type, | 1086 | (c-add-type, c-check-type, c-add-complex-type) |
| 1096 | c-list-found-types, c-forward-type): Added a sort of symbol | 1087 | (c-list-found-types, c-forward-type): Add a sort of symbol |
| 1097 | table for types: If a name is recognized as a type in a | 1088 | table for types: If a name is recognized as a type in a |
| 1098 | declaration it's added in an obarray to be able to recognize | 1089 | declaration it's added in an obarray to be able to recognize |
| 1099 | it in other ambiguous declarations. | 1090 | it in other ambiguous declarations. |
| @@ -1114,25 +1105,24 @@ | |||
| 1114 | 1105 | ||
| 1115 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1106 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1116 | 1107 | ||
| 1117 | * progmodes/cc-engine.el (c-forward-syntactic-ws): Fixed a bug | 1108 | * progmodes/cc-engine.el (c-forward-syntactic-ws): Fix a bug |
| 1118 | that could cause an infinite loop if something that looks like | 1109 | that could cause an infinite loop if something that looks like |
| 1119 | a macro begins in the middle of a line. | 1110 | a macro begins in the middle of a line. |
| 1120 | 1111 | ||
| 1121 | (c-parse-state): Fixed a bug that could cause `c-state-cache' | 1112 | (c-parse-state): Fix a bug that could cause `c-state-cache' |
| 1122 | to contain two conses in sequence when there's an unbalanced | 1113 | to contain two conses in sequence when there's an unbalanced |
| 1123 | open paren in a macro. | 1114 | open paren in a macro. |
| 1124 | 1115 | ||
| 1125 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1116 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1126 | 1117 | ||
| 1127 | * progmodes/cc-defs.el (c-face-name-p): A defsubst to | 1118 | * progmodes/cc-defs.el (c-face-name-p): A defsubst to |
| 1128 | recognize the name of a face in a way that works also in | 1119 | recognize the name of a face in a way that works also in XEmacs. |
| 1129 | XEmacs. | ||
| 1130 | 1120 | ||
| 1131 | * progmodes/cc-engine.el (c-forward-type): New function to | 1121 | * progmodes/cc-engine.el (c-forward-type): New function to |
| 1132 | move past a type spec. | 1122 | move past a type spec. |
| 1133 | 1123 | ||
| 1134 | * progmodes/cc-engine.el (c-syntactic-re-search-forward): | 1124 | * progmodes/cc-engine.el (c-syntactic-re-search-forward): |
| 1135 | Fixed behavior when the limit is reached inside a comment, | 1125 | Fix behavior when the limit is reached inside a comment, |
| 1136 | string, or a macro. | 1126 | string, or a macro. |
| 1137 | 1127 | ||
| 1138 | * progmodes/cc-align.el, progmodes/cc-cmds.el, | 1128 | * progmodes/cc-align.el, progmodes/cc-cmds.el, |
| @@ -1143,16 +1133,16 @@ | |||
| 1143 | four different cases it's actually used. These replacements | 1133 | four different cases it's actually used. These replacements |
| 1144 | also treats line continuations as whitespace. | 1134 | also treats line continuations as whitespace. |
| 1145 | 1135 | ||
| 1146 | (c-forward-comment): Removed. The four different cases above | 1136 | (c-forward-comment): Remove. The four different cases above |
| 1147 | are basically different, so it's better to make them into | 1137 | are basically different, so it's better to make them into |
| 1148 | separate functions than choose between them at runtime using | 1138 | separate functions than choose between them at runtime using |
| 1149 | the argument. | 1139 | the argument. |
| 1150 | 1140 | ||
| 1151 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1141 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1152 | 1142 | ||
| 1153 | * progmodes/cc-align.el (c-gnu-impose-minimum): Fixed bug due | 1143 | * progmodes/cc-align.el (c-gnu-impose-minimum): Fix bug due |
| 1154 | to the new placement of cpp-macro and comment-intro in the | 1144 | to the new placement of cpp-macro and comment-intro in the |
| 1155 | syntactic context, as pointed out by Kevin Ryde. Changed the | 1145 | syntactic context, as pointed out by Kevin Ryde. Change the |
| 1156 | method that decides whether point is inside a top-level | 1146 | method that decides whether point is inside a top-level |
| 1157 | construct to one that doesn't depend on the set of syntactic | 1147 | construct to one that doesn't depend on the set of syntactic |
| 1158 | elements so much. | 1148 | elements so much. |
| @@ -1163,31 +1153,31 @@ | |||
| 1163 | 1153 | ||
| 1164 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1154 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1165 | 1155 | ||
| 1166 | * progmodes/cc-cmds.el (c-mask-comment): Fixed a bug that | 1156 | * progmodes/cc-cmds.el (c-mask-comment): Fix a bug that |
| 1167 | sometimes caused code after a closed block comment to be taken | 1157 | sometimes caused code after a closed block comment to be taken |
| 1168 | into account when the fill prefix is calculated. | 1158 | into account when the fill prefix is calculated. |
| 1169 | 1159 | ||
| 1170 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1160 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1171 | 1161 | ||
| 1172 | * progmodes/cc-align.el (c-lineup-arglist, c-lineup-argcont, | 1162 | * progmodes/cc-align.el (c-lineup-arglist, c-lineup-argcont) |
| 1173 | c-lineup-math, c-lineup-cascaded-calls, c-lineup-gcc-asm-reg): | 1163 | (c-lineup-math, c-lineup-cascaded-calls, c-lineup-gcc-asm-reg): |
| 1174 | Fixes to cope correctly with nested arglists for the lineups | 1164 | Fixes to cope correctly with nested arglists for the lineups |
| 1175 | that can be used with arglist-cont-nonempty. | 1165 | that can be used with arglist-cont-nonempty. |
| 1176 | 1166 | ||
| 1177 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1167 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1178 | 1168 | ||
| 1179 | * progmodes/cc-engine.el (c-add-stmt-syntax, | 1169 | * progmodes/cc-engine.el (c-add-stmt-syntax, c-guess-basic-syntax): |
| 1180 | c-guess-basic-syntax): Changed the anchor position of | 1170 | Change the anchor position of |
| 1181 | arglist-cont-nonempty and arglist-close so that a relative | 1171 | arglist-cont-nonempty and arglist-close so that a relative |
| 1182 | indentation like + can be used with consistent results. Prior | 1172 | indentation like + can be used with consistent results. |
| 1183 | to this, the indentation engine more or less assumed that | 1173 | Prior to this, the indentation engine more or less assumed that |
| 1184 | arglist-cont-nonempty always used `c-lineup-arglist'. Those | 1174 | arglist-cont-nonempty always used `c-lineup-arglist'. |
| 1185 | two syntax symbols also get the opening paren as an extra | 1175 | Those two syntax symbols also get the opening paren as an extra |
| 1186 | position, to make it possible for `c-lineup-arglist' to | 1176 | position, to make it possible for `c-lineup-arglist' to |
| 1187 | continue to do a proper job. | 1177 | continue to do a proper job. |
| 1188 | 1178 | ||
| 1189 | * progmodes/cc-engine.el (c-get-syntactic-indentation): A | 1179 | * progmodes/cc-engine.el (c-get-syntactic-indentation): |
| 1190 | vector with an absolute indentation column now only overrides | 1180 | A vector with an absolute indentation column now only overrides |
| 1191 | the indentation for surrounding structures, i.e. those whose | 1181 | the indentation for surrounding structures, i.e. those whose |
| 1192 | syntactic elements are earlier in the `c-syntactic-context' | 1182 | syntactic elements are earlier in the `c-syntactic-context' |
| 1193 | list, but not nested ones. This so that | 1183 | list, but not nested ones. This so that |
| @@ -1196,7 +1186,6 @@ | |||
| 1196 | nested things, e.g. the arglist-close of a nested argument | 1186 | nested things, e.g. the arglist-close of a nested argument |
| 1197 | list. This change means that the order in | 1187 | list. This change means that the order in |
| 1198 | `c-syntactic-context' has become more essential. | 1188 | `c-syntactic-context' has become more essential. |
| 1199 | |||
| 1200 | (c-guess-basic-syntax): Changes to make the nesting order of the | 1189 | (c-guess-basic-syntax): Changes to make the nesting order of the |
| 1201 | returned syntax list correct. | 1190 | returned syntax list correct. |
| 1202 | 1191 | ||
| @@ -1210,9 +1199,9 @@ | |||
| 1210 | 1199 | ||
| 1211 | * progmodes/cc-align.el, progmodes/cc-defs.el, | 1200 | * progmodes/cc-align.el, progmodes/cc-defs.el, |
| 1212 | progmodes/cc-engine.el, progmodes/cc-vars.el | 1201 | progmodes/cc-engine.el, progmodes/cc-vars.el |
| 1213 | (c-guess-basic-syntax, c-calc-offset, | 1202 | (c-guess-basic-syntax, c-calc-offset) |
| 1214 | c-get-syntactic-indentation, c-syntactic-context): Extended | 1203 | (c-get-syntactic-indentation, c-syntactic-context): |
| 1215 | the representation of the syntactic context: Previously it was | 1204 | Extend the representation of the syntactic context: Previously it was |
| 1216 | a list containing cons cells of the found syntactic symbols | 1205 | a list containing cons cells of the found syntactic symbols |
| 1217 | and their relpos values. Now each element is instead a list | 1206 | and their relpos values. Now each element is instead a list |
| 1218 | containing the syntactic symbol in the first element and the | 1207 | containing the syntactic symbol in the first element and the |
| @@ -1229,8 +1218,8 @@ | |||
| 1229 | 1218 | ||
| 1230 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1219 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1231 | 1220 | ||
| 1232 | * progmodes/cc-styles.el (c-set-style, c-set-style-1): Added | 1221 | * progmodes/cc-styles.el (c-set-style, c-set-style-1): |
| 1233 | another state for the `dont-override' flag where it only keeps | 1222 | Add another state for the `dont-override' flag where it only keeps |
| 1234 | globally set variables. | 1223 | globally set variables. |
| 1235 | 1224 | ||
| 1236 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1225 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| @@ -1241,18 +1230,17 @@ | |||
| 1241 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1230 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1242 | 1231 | ||
| 1243 | * progmodes/cc-vars.el, progmodes/cc-fonts.el, | 1232 | * progmodes/cc-vars.el, progmodes/cc-fonts.el, |
| 1244 | progmodes/cc-langs.el, progmodes/cc-mode.el: Added font lock | 1233 | progmodes/cc-langs.el, progmodes/cc-mode.el: Add font lock support. |
| 1245 | support. | ||
| 1246 | 1234 | ||
| 1247 | * progmodes/cc-engine.el (c-beginning-of-syntax): New function | 1235 | * progmodes/cc-engine.el (c-beginning-of-syntax): New function |
| 1248 | to be used for font-lock-beginning-of-syntax-function. It | 1236 | to be used for font-lock-beginning-of-syntax-function. |
| 1249 | uses the state cache to quickly find a good position. | 1237 | It uses the state cache to quickly find a good position. |
| 1250 | 1238 | ||
| 1251 | * progmodes/cc-defs.el (c-major-mode-is): Allow a list of | 1239 | * progmodes/cc-defs.el (c-major-mode-is): Allow a list of |
| 1252 | modes. Made it a macro ensure that it's optimized to either | 1240 | modes. Made it a macro ensure that it's optimized to either |
| 1253 | eq or memq for constant arguments. | 1241 | eq or memq for constant arguments. |
| 1254 | 1242 | ||
| 1255 | * progmodes/cc-mode.el (c-common-init): Did away with the | 1243 | * progmodes/cc-mode.el (c-common-init): Do away with the |
| 1256 | hardcoded setting of `comment-column'; it's a user variable | 1244 | hardcoded setting of `comment-column'; it's a user variable |
| 1257 | that we have no business meddling with. Since the default | 1245 | that we have no business meddling with. Since the default |
| 1258 | value for it is 32 in all supported (X)Emacs versions, it's | 1246 | value for it is 32 in all supported (X)Emacs versions, it's |
| @@ -1265,22 +1253,20 @@ | |||
| 1265 | 1253 | ||
| 1266 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1254 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1267 | 1255 | ||
| 1268 | * progmodes/cc-engine.el (c-add-stmt-syntax): Fixed some cases | 1256 | * progmodes/cc-engine.el (c-add-stmt-syntax): Fix some cases |
| 1269 | of wrong anchoring, e.g. for else-if compounds. | 1257 | of wrong anchoring, e.g. for else-if compounds. |
| 1270 | 1258 | ||
| 1271 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1259 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1272 | 1260 | ||
| 1273 | * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed anchor | 1261 | * progmodes/cc-engine.el (c-guess-basic-syntax): Fix anchor |
| 1274 | position for defun-open in K&R style functions. | 1262 | position for defun-open in K&R style functions. |
| 1275 | 1263 | ||
| 1276 | * progmodes/cc-engine.el (c-in-knr-argdecl): Don't trip up on | 1264 | * progmodes/cc-engine.el (c-in-knr-argdecl): Don't trip up on macros. |
| 1277 | macros. | ||
| 1278 | 1265 | ||
| 1279 | (c-search-decl-header-end): Handle C++ template arguments more | 1266 | (c-search-decl-header-end): Handle C++ template arguments more |
| 1280 | correctly. | 1267 | correctly. |
| 1281 | 1268 | ||
| 1282 | (c-beginning-of-decl-1): Fix when the declaration is first in a | 1269 | (c-beginning-of-decl-1): Fix when the declaration is first in a macro. |
| 1283 | macro. | ||
| 1284 | 1270 | ||
| 1285 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1271 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1286 | 1272 | ||
| @@ -1293,21 +1279,20 @@ | |||
| 1293 | 1279 | ||
| 1294 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1280 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1295 | 1281 | ||
| 1296 | * progmodes/cc-langs.el (c-make-keywords-re): Fixed the | 1282 | * progmodes/cc-langs.el (c-make-keywords-re): Fix the |
| 1297 | keyword adornment so that it works when a keyword ends with | 1283 | keyword adornment so that it works when a keyword ends with "_". |
| 1298 | "_". | ||
| 1299 | 1284 | ||
| 1300 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1285 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1301 | 1286 | ||
| 1302 | * progmodes/cc-cmds.el (c-mask-comment): More fixes when used | 1287 | * progmodes/cc-cmds.el (c-mask-comment): More fixes when used |
| 1303 | from `c-do-auto-fill' and point is at or near the limit of the | 1288 | from `c-do-auto-fill' and point is at or near the limit of the |
| 1304 | comment. Fixed bug when the prefix from `c-guess-fill-prefix' | 1289 | comment. Fix bug when the prefix from `c-guess-fill-prefix' |
| 1305 | is longer than the text on the first line of the comment when | 1290 | is longer than the text on the first line of the comment when |
| 1306 | it's masked. | 1291 | it's masked. |
| 1307 | 1292 | ||
| 1308 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> | 1293 | 2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org> |
| 1309 | 1294 | ||
| 1310 | * progmodes/cc-cmds.el (c-mask-comment): Fixed bug where point | 1295 | * progmodes/cc-cmds.el (c-mask-comment): Fix bug where point |
| 1311 | was moved to the following line when it was at the first line | 1296 | was moved to the following line when it was at the first line |
| 1312 | of a block comment where comment-start-skip matched to eol. | 1297 | of a block comment where comment-start-skip matched to eol. |
| 1313 | 1298 | ||
| @@ -1338,8 +1323,8 @@ | |||
| 1338 | 1323 | ||
| 1339 | * menu-bar.el (menu-bar-options-menu): Move mouse-set-fonts item here. | 1324 | * menu-bar.el (menu-bar-options-menu): Move mouse-set-fonts item here. |
| 1340 | 1325 | ||
| 1341 | * international/mule-cmds.el (mule-menu-keymap): Delete | 1326 | * international/mule-cmds.el (mule-menu-keymap): |
| 1342 | mouse-set-fonts item here. | 1327 | Delete mouse-set-fonts item here. |
| 1343 | 1328 | ||
| 1344 | 2003-06-29 Nick Roberts <nick@nick.uklinux.net> | 1329 | 2003-06-29 Nick Roberts <nick@nick.uklinux.net> |
| 1345 | 1330 | ||
| @@ -1359,12 +1344,12 @@ | |||
| 1359 | 1344 | ||
| 1360 | 2003-06-27 Kai Gro,A_(Bjohann <kai.grossjohann@gmx.net> | 1345 | 2003-06-27 Kai Gro,A_(Bjohann <kai.grossjohann@gmx.net> |
| 1361 | 1346 | ||
| 1362 | * international/mule-cmds.el (menu-bar-options-menu): Move | 1347 | * international/mule-cmds.el (menu-bar-options-menu): |
| 1363 | `mouse-set-fonts' here from Options/Mule submenu. | 1348 | Move `mouse-set-fonts' here from Options/Mule submenu. |
| 1364 | 1349 | ||
| 1365 | 2003-06-26 Stephen Eglen <stephen@gnu.org> | 1350 | 2003-06-26 Stephen Eglen <stephen@gnu.org> |
| 1366 | 1351 | ||
| 1367 | * iswitchb.el (iswitchb-read-buffer): Remove redudant variable | 1352 | * iswitchb.el (iswitchb-read-buffer): Remove redundant variable |
| 1368 | iswitchb-prepost-hooks. | 1353 | iswitchb-prepost-hooks. |
| 1369 | (iswitchb-xemacs): Delete variable and use (featurep 'xemacs) | 1354 | (iswitchb-xemacs): Delete variable and use (featurep 'xemacs) |
| 1370 | and fboundp instead. | 1355 | and fboundp instead. |
| @@ -1373,14 +1358,14 @@ | |||
| 1373 | 1358 | ||
| 1374 | 2003-06-20 Masatake YAMATO <jet@gyve.org> | 1359 | 2003-06-20 Masatake YAMATO <jet@gyve.org> |
| 1375 | 1360 | ||
| 1376 | * progmodes/asm-mode.el (asm-font-lock-keywords): Support | 1361 | * progmodes/asm-mode.el (asm-font-lock-keywords): |
| 1377 | labels starting with "." and directives starting with ".". | 1362 | Support labels starting with "." and directives starting with ".". |
| 1378 | 1363 | ||
| 1379 | 2003-06-22 Andreas Schwab <schwab@suse.de> | 1364 | 2003-06-22 Andreas Schwab <schwab@suse.de> |
| 1380 | 1365 | ||
| 1381 | * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): Avoid | 1366 | * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): |
| 1382 | variable as format argument for error. Don't call symbol-name on | 1367 | Avoid variable as format argument for error. |
| 1383 | string. | 1368 | Don't call symbol-name on string. |
| 1384 | 1369 | ||
| 1385 | * eshell/esh-opt.el (eshell-do-opt): Avoid variable as format | 1370 | * eshell/esh-opt.el (eshell-do-opt): Avoid variable as format |
| 1386 | argument for error. | 1371 | argument for error. |
| @@ -1393,8 +1378,7 @@ | |||
| 1393 | (diary, view-diary-entries, show-all-diary-entries) | 1378 | (diary, view-diary-entries, show-all-diary-entries) |
| 1394 | (mark-diary-entries): Use it. | 1379 | (mark-diary-entries): Use it. |
| 1395 | (view-other-diary-entries): Doc fix. Use `prefix-numeric-value'. | 1380 | (view-other-diary-entries): Doc fix. Use `prefix-numeric-value'. |
| 1396 | (diary-syntax-table, diary-attrtype-convert, diary-mail-days): Doc | 1381 | (diary-syntax-table, diary-attrtype-convert, diary-mail-days): Doc fix. |
| 1397 | fix. | ||
| 1398 | (diary-modified, d-file): No need to defvar (for compiler). | 1382 | (diary-modified, d-file): No need to defvar (for compiler). |
| 1399 | (list-diary-entries): No need for `let*' so use `let'. | 1383 | (list-diary-entries): No need for `let*' so use `let'. |
| 1400 | (simple-diary-display): Use `diary-file' directly rather than | 1384 | (simple-diary-display): Use `diary-file' directly rather than |
| @@ -1403,8 +1387,7 @@ | |||
| 1403 | `mode-line-format' already buffer-local. | 1387 | `mode-line-format' already buffer-local. |
| 1404 | (diary-mail-addr): Set to the empty string (rather than nil) if | 1388 | (diary-mail-addr): Set to the empty string (rather than nil) if |
| 1405 | undefined, as per `user-mail-address'. | 1389 | undefined, as per `user-mail-address'. |
| 1406 | (diary-mail-entries): Doc fix. Error if `diary-mail-address' | 1390 | (diary-mail-entries): Doc fix. Error if `diary-mail-address' unset. |
| 1407 | unset. | ||
| 1408 | (mark-sexp-diary-entries): Don't regexp-quote sexp-mark twice. | 1391 | (mark-sexp-diary-entries): Don't regexp-quote sexp-mark twice. |
| 1409 | Remove an un-needed `if'. | 1392 | Remove an un-needed `if'. |
| 1410 | (list-sexp-diary-entries): Remove local vars mark and s-entry, and | 1393 | (list-sexp-diary-entries): Remove local vars mark and s-entry, and |