comparison lisp/ChangeLog @ 69599:0b906e4eb64e

(jit-lock-function): Check for the actual defer-timer rather than just defer-time, in case defer-time has been changed but the timer isn't running yet. (jit-lock-deferred-fontify): Correspondingly let-bind defer-timer.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 20 Mar 2006 07:52:03 +0000
parents 4a9c3ca44ca5
children 7f4f3a2e288b
comparison
equal deleted inserted replaced
69598:15befdcdc4e9 69599:0b906e4eb64e
1 2006-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * jit-lock.el (jit-lock-function): Check for the actual defer-timer
4 rather than just defer-time, in case defer-time has been changed but
5 the timer isn't running yet.
6 (jit-lock-deferred-fontify): Correspondingly let-bind defer-timer.
7
1 2006-03-19 Luc Teirlinck <teirllm@auburn.edu> 8 2006-03-19 Luc Teirlinck <teirllm@auburn.edu>
2 9
3 * help-mode.el (help-follow-symbol): New function. Essentially 10 * help-mode.el (help-follow-symbol): New function.
4 identical to the old `help-follow', but do not let `push-button' 11 Essentially identical to the old `help-follow', but do not let
5 do the work when on an xref. 12 `push-button' do the work when on an xref.
6 (help-mode-map): Bind `help-follow-symbol' to "C-c C-c". 13 (help-mode-map): Bind `help-follow-symbol' to "C-c C-c".
7 14
8 2006-03-19 Richard Stallman <rms@gnu.org> 15 2006-03-19 Richard Stallman <rms@gnu.org>
9 16
10 * help-mode.el (help-xref-symbol-regexp): Make no xref for symbol 17 * help-mode.el (help-xref-symbol-regexp): Make no xref for symbol
18 annotation ensure gud-overlay-arrow-position is redisplayed. 25 annotation ensure gud-overlay-arrow-position is redisplayed.
19 26
20 2006-03-19 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> 27 2006-03-19 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
21 28
22 * textmodes/bibtex.el (bibtex-include-OPTkey) 29 * textmodes/bibtex.el (bibtex-include-OPTkey)
23 (bibtex-entry-field-alist, bibtex-generate-url-list): Mark as 30 (bibtex-entry-field-alist, bibtex-generate-url-list): Mark as risky.
24 risky.
25 (bibtex-autokey-name-case-convert) 31 (bibtex-autokey-name-case-convert)
26 (bibtex-autokey-titleword-case-convert): Make these the aliases 32 (bibtex-autokey-titleword-case-convert): Make these the aliases
27 for the following two variables. 33 for the following two variables.
28 (bibtex-autokey-name-case-convert-function) 34 (bibtex-autokey-name-case-convert-function)
29 (bibtex-autokey-titleword-case-convert-function): Make these the 35 (bibtex-autokey-titleword-case-convert-function): Make these the
30 real names. 36 real names.
31 (bibtex-font-lock-keywords): Make bibtex-font-lock-url and 37 (bibtex-font-lock-keywords): Make bibtex-font-lock-url and
32 bibtex-font-lock-crossref sublists. 38 bibtex-font-lock-crossref sublists.
33 (bibtex-mode): Revert 2005-12-30 change (which made 39 (bibtex-mode): Revert 2005-12-30 change (which made
34 completion-ignore-case buffer-local). 40 completion-ignore-case buffer-local).
35 (bibtex-url): Simplify 41 (bibtex-url): Simplify.
36 42
37 2006-03-19 Kim F. Storm <storm@cua.dk> 43 2006-03-19 Kim F. Storm <storm@cua.dk>
38 44
39 * emulation/cua-rect.el (cua--highlight-rectangle): Set overlay 45 * emulation/cua-rect.el (cua--highlight-rectangle): Set overlay
40 cursor property value to 2 (to align with C level change). 46 cursor property value to 2 (to align with C level change).
58 * textmodes/ispell.el (ispell-skip-region-alist): Add "_+" to the 64 * textmodes/ispell.el (ispell-skip-region-alist): Add "_+" to the
59 part that matches email addresses, file names, etc. 65 part that matches email addresses, file names, etc.
60 66
61 2006-03-18 Eli Zaretskii <eliz@gnu.org> 67 2006-03-18 Eli Zaretskii <eliz@gnu.org>
62 68
63 * term/w32-win.el (mouse-set-font): Mention 69 * term/w32-win.el (mouse-set-font):
64 w32-list-proportional-fonts in the doc string. 70 Mention w32-list-proportional-fonts in the doc string.
65 71
66 2006-03-18 Kim F. Storm <storm@cua.dk> 72 2006-03-18 Kim F. Storm <storm@cua.dk>
67 73
68 * ido.el (ido-cache-ftp-work-directory-time): Doc fix. 74 * ido.el (ido-cache-ftp-work-directory-time): Doc fix.
69 (ido-unc-hosts): New user option to explicitly define list of know 75 (ido-unc-hosts): New user option to explicitly define list of know
70 UNC-style hosts for completion. 76 UNC-style hosts for completion.
71 (ido-cache-unc-host-shares-time): New user option. 77 (ido-cache-unc-host-shares-time): New user option.
72 (ido-is-unc-root, ido-is-unc-host, ido-cache-unc-valid): New 78 (ido-is-unc-root, ido-is-unc-host, ido-cache-unc-valid):
73 helper functions for UNC file-name support. 79 New helper functions for UNC file-name support.
74 (ido-may-cache-directory): Check for UNC host. Simplify. 80 (ido-may-cache-directory): Check for UNC host. Simplify.
75 (ido-wash-history): Clean out old UNC hosts. 81 (ido-wash-history): Clean out old UNC hosts.
76 (ido-nonreadable-directory-p): UNC hosts are always readable. 82 (ido-nonreadable-directory-p): UNC hosts are always readable.
77 (ido-directory-too-big-p): UNC hosts are never too big. 83 (ido-directory-too-big-p): UNC hosts are never too big.
78 (ido-set-current-directory): Handle UNC root path. 84 (ido-set-current-directory): Handle UNC root path.
203 209
204 2006-03-15 Nick Roberts <nickrob@snap.net.nz> 210 2006-03-15 Nick Roberts <nickrob@snap.net.nz>
205 211
206 * progmodes/gdb-ui.el (gdb-var-list): Change order of first two 212 * progmodes/gdb-ui.el (gdb-var-list): Change order of first two
207 elements. 213 elements.
208 (gdb-find-watch-expression): Make it work for arrays too. Follow 214 (gdb-find-watch-expression): Make it work for arrays too.
209 change to gdb-var-list. 215 Follow change to gdb-var-list.
210 (gud-watch): Allow the user to enter variable name with a prexix 216 (gud-watch): Allow the user to enter variable name with a prexix
211 arg. Create keybindings. 217 arg. Create keybindings.
212 (gdb-var-create-handler, gdb-var-evaluate-expression-handler) 218 (gdb-var-create-handler, gdb-var-evaluate-expression-handler)
213 (gdb-var-list-children-handler, gdb-var-update-handler) 219 (gdb-var-list-children-handler, gdb-var-update-handler)
214 (gdb-var-delete, gdb-edit-value, gdb-speedbar-expand-node) 220 (gdb-var-delete, gdb-edit-value, gdb-speedbar-expand-node)
215 (gdb-var-list-children-handler-1, gdb-var-update-handler-1): 221 (gdb-var-list-children-handler-1, gdb-var-update-handler-1):
216 Follow change to gdb-var-list. 222 Follow change to gdb-var-list.
217 (gdb-starting): Don't show the overlay arrows when program is 223 (gdb-starting): Don't show the overlay arrows when program is running.
218 running.
219 224
220 * progmodes/gud.el (gud-speedbar-buttons): Follow change to 225 * progmodes/gud.el (gud-speedbar-buttons): Follow change to
221 gdb-var-list. 226 gdb-var-list.
222 227
223 2006-03-14 Bill Wohler <wohler@newt.com> 228 2006-03-14 Bill Wohler <wohler@newt.com>
224 229
225 * image.el (image-load-path-for-library): Pass value of path 230 * image.el (image-load-path-for-library): Pass value of path
226 rather than symbol. Always return list of directories. Guarantee 231 rather than symbol. Always return list of directories.
227 that image directory comes first. 232 Guarantee that image directory comes first.
228 233
229 2006-03-14 Alan Mackenzie <acm@muc.de> 234 2006-03-14 Alan Mackenzie <acm@muc.de>
230 235
231 * font-core.el: New function/variable 236 * font-core.el (font-lock-extend-region\(-function\)?.):
232 font-lock-extend-region\(-function\)?. 237 New function/variable.
233 238
234 * font-lock.el (font-lock-after-change-function): Call 239 * font-lock.el (font-lock-after-change-function):
235 font-lock-extend-region. Obey font-lock-lines-before. 240 Call font-lock-extend-region. Obey font-lock-lines-before.
236 (font-lock-default-fontify-region): Remove reference to 241 (font-lock-default-fontify-region): Remove reference to
237 font-lock-lines-before. 242 font-lock-lines-before.
238 243
239 * jit-lock.el (jit-lock-after-change): Call 244 * jit-lock.el (jit-lock-after-change):
240 font-lock-extend-region. Obey font-lock-lines-before. 245 Call font-lock-extend-region. Obey font-lock-lines-before.
241 246
242 2006-03-14 David Ponce <david@dponce.com> 247 2006-03-14 David Ponce <david@dponce.com>
243 248
244 * tree-widget.el (tree-widget-themes-load-path) 249 * tree-widget.el (tree-widget-themes-load-path)
245 (tree-widget-themes-directory, tree-widget-theme): Doc fix. 250 (tree-widget-themes-directory, tree-widget-theme): Doc fix.
251
252 2006-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
253
254 * pcvs-util.el (cvs-insert-strings): Fix bug with strings longer than
255 wwidth.
246 256
247 2006-03-13 Ryan Yeske <rcyeske@gmail.com> 257 2006-03-13 Ryan Yeske <rcyeske@gmail.com>
248 258
249 * net/rcirc.el (rcirc) <defgroup>: Add link to manual. 259 * net/rcirc.el (rcirc) <defgroup>: Add link to manual.
250 (rcirc-print): Mark the start of text at the end of the prompt. 260 (rcirc-print): Mark the start of text at the end of the prompt.
262 272
263 * tree-widget.el: Handle themes across all occurrences of the main 273 * tree-widget.el: Handle themes across all occurrences of the main
264 themes sub-directory found in tree-widget-themes-load-path. 274 themes sub-directory found in tree-widget-themes-load-path.
265 (tree-widget-themes-directory, tree-widget-theme): Doc fix. 275 (tree-widget-themes-directory, tree-widget-theme): Doc fix.
266 (tree-widget--locate-sub-directory): Return all occurrences. 276 (tree-widget--locate-sub-directory): Return all occurrences.
267 (tree-widget-themes-path): New function. Replace 277 (tree-widget-themes-path): New function.
268 tree-widget-themes-directory, and return a list of directories. 278 Replace tree-widget-themes-directory, and return a list of directories.
269 (tree-widget-set-parent-theme) 279 (tree-widget-set-parent-theme)
270 (tree-widget-lookup-image): Use it. 280 (tree-widget-lookup-image): Use it.
271 281
272 2006-03-13 Carsten Dominik <dominik@science.uva.nl> 282 2006-03-13 Carsten Dominik <dominik@science.uva.nl>
273 283
408 * help.el (view-lossage): Remove trailing whitespace before 418 * help.el (view-lossage): Remove trailing whitespace before
409 inserting "\n". 419 inserting "\n".
410 420
411 2006-03-07 Chong Yidong <cyd@stupidchicken.com> 421 2006-03-07 Chong Yidong <cyd@stupidchicken.com>
412 422
413 * files.el (hack-local-variables-confirm): Set 423 * files.el (hack-local-variables-confirm):
414 coding-system-for-read to nil before writing to .emacs. 424 Set coding-system-for-read to nil before writing to .emacs.
415 425
416 * arc-mode.el (archive-extract): Check if an existing buffer name 426 * arc-mode.el (archive-extract): Check if an existing buffer name
417 comes from a different archive. 427 comes from a different archive.
418 428
419 * help.el (describe-key-briefly): If KEY is a down event, read and 429 * help.el (describe-key-briefly): If KEY is a down event, read and
431 441
432 * help.el (describe-key): Remove leftover test code. 442 * help.el (describe-key): Remove leftover test code.
433 443
434 2006-03-07 Carsten Dominik <dominik@science.uva.nl> 444 2006-03-07 Carsten Dominik <dominik@science.uva.nl>
435 445
436 * textmodes/org.el: Move defvars out of eval-when-compile. Use 446 * textmodes/org.el: Move defvars out of eval-when-compile.
437 buffer-file-name variable. 447 Use buffer-file-name variable.
438 (org-agenda-file-to-end, org-agenda-file-to-front): Remove unused 448 (org-agenda-file-to-end, org-agenda-file-to-front): Remove unused
439 arg `file'. 449 arg `file'.
440 (org-level-faces): Remove startup dependency. 450 (org-level-faces): Remove startup dependency.
441 (org-cycle, org-map-tree, org-scan-tags) 451 (org-cycle, org-map-tree, org-scan-tags)
442 (org-remember-handler): Don't call `outline-level' directly. 452 (org-remember-handler): Don't call `outline-level' directly.
447 (org-cleaned-string-for-export, org-activate-target-links) 457 (org-cleaned-string-for-export, org-activate-target-links)
448 (org-make-target-link-regexp): Deal with empty radio target list. 458 (org-make-target-link-regexp): Deal with empty radio target list.
449 (org-tag): New face. 459 (org-tag): New face.
450 (org-get-level-face): New function. 460 (org-get-level-face): New function.
451 (org-set-font-lock-defaults): Simplify setup for headlines. 461 (org-set-font-lock-defaults): Simplify setup for headlines.
452 (org-complete): Pass common substring to 462 (org-complete): Pass common substring to `display-completion-list'.
453 `display-completion-list'.
454 463
455 2006-03-06 David Ponce <david@dponce.com> 464 2006-03-06 David Ponce <david@dponce.com>
456 465
457 * tree-widget.el: Update Commentary header. 466 * tree-widget.el: Update Commentary header.
458 (tree-widget-theme-name): Ignore parent themes. 467 (tree-widget-theme-name): Ignore parent themes.
620 * speedbar.el: Re-instate comments about developing for speedbar 629 * speedbar.el: Re-instate comments about developing for speedbar
621 [this is what info and gdb-ui use even if better methods exist now]. 630 [this is what info and gdb-ui use even if better methods exist now].
622 631
623 * t-mouse.el: New file. 632 * t-mouse.el: New file.
624 (t-mouse-tty): Use with-temp-buffer. Add more terminal types. 633 (t-mouse-tty): Use with-temp-buffer. Add more terminal types.
625 (t-mouse-lispy-buffer-posn-from-coords): Remove. Use the C 634 (t-mouse-lispy-buffer-posn-from-coords): Remove.
626 primitive... 635 (t-mouse-make-event-element): Use posn-at-x-y instead.
627 (t-mouse-make-event-element): ...posn-at-x-y instead.
628 (t-mouse-make-event): Deal with Fedora Core 3. 636 (t-mouse-make-event): Deal with Fedora Core 3.
629 (t-mouse-make-event): Don't sink the `stupid text mode menubar'. 637 (t-mouse-make-event): Don't sink the `stupid text mode menubar'.
630 (t-mouse-mouse-position-function): New function. Use it instead 638 (t-mouse-mouse-position-function): New function. Use it instead
631 of advising mouse-position. 639 of advising mouse-position.
632 (t-mouse-mode): New minor mode. 640 (t-mouse-mode): New minor mode.
655 2006-02-27 Carsten Dominik <dominik@science.uva.nl> 663 2006-02-27 Carsten Dominik <dominik@science.uva.nl>
656 664
657 * textmodes/reftex-index.el (reftex-index-map): Add `follow-mouse' 665 * textmodes/reftex-index.el (reftex-index-map): Add `follow-mouse'
658 binding. 666 binding.
659 667
660 * textmodes/reftex-toc.el (reftex-toc-map): Add `follow-mouse' 668 * textmodes/reftex-toc.el (reftex-toc-map): Add `follow-mouse' binding.
661 binding.
662 669
663 * textmodes/reftex-sel.el (reftex-select-label-map) 670 * textmodes/reftex-sel.el (reftex-select-label-map)
664 (reftex-select-bib-map): Add `follow-mouse' binding. 671 (reftex-select-bib-map): Add `follow-mouse' binding.
665 672
666 2006-02-26 Luc Teirlinck <teirllm@auburn.edu> 673 2006-02-26 Luc Teirlinck <teirllm@auburn.edu>
4234 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 4241 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4235 4242
4236 CC Mode update to 5.31. 4243 CC Mode update to 5.31.
4237 4244
4238 * progmodes/cc-subword.el: Add a dummy `c-subword-mode' for 4245 * progmodes/cc-subword.el: Add a dummy `c-subword-mode' for
4239 Emacsen which lack `define-minor-mode'. (Currently Emacs <21. We 4246 Emacsen which lack `define-minor-mode'. (Currently Emacs <21.
4240 might do this function properly in the future). 4247 We might do this function properly in the future).
4241 4248
4242 * progmodes/cc-cmds.el, cc-defs.el, cc-styles.el, cc-vars.el: New 4249 * progmodes/cc-cmds.el, cc-defs.el, cc-styles.el, cc-vars.el:
4243 macros c-sentence-end and c-default-value-sentence end, to cope 4250 New macros c-sentence-end and c-default-value-sentence end, to cope
4244 with Emacs 22's new function `sentence-end'. 4251 with Emacs 22's new function `sentence-end'.
4245 4252
4246 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 4253 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4247 4254
4248 * progmodes/cc-cmds.el (c-show-syntactic-information): Solved the 4255 * progmodes/cc-cmds.el (c-show-syntactic-information): Solve the
4249 compat issue using `c-put-overlay' and `c-delete-overlay'. 4256 compat issue using `c-put-overlay' and `c-delete-overlay'.
4250 4257
4251 * progmodes/cc-defs.el (c-put-overlay, c-delete-overlay): New 4258 * progmodes/cc-defs.el (c-put-overlay, c-delete-overlay):
4252 compat macros to handle overlays/extents. 4259 New compat macros to handle overlays/extents.
4253 4260
4254 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 4261 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4255 4262
4256 * progmodes/cc-fix.el: Add definitions of the macros push and pop 4263 * progmodes/cc-fix.el: Add definitions of the macros push and pop
4257 (for GNU Emacs 20.4) 4264 (for GNU Emacs 20.4)
4268 call to the new macro c-int-to-char. This solves XEmacs's 4275 call to the new macro c-int-to-char. This solves XEmacs's
4269 regarding characters as different from integers. 4276 regarding characters as different from integers.
4270 4277
4271 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 4278 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4272 4279
4273 * progmodes/cc-fonts.el (c-make-syntactic-matcher): New internal 4280 * progmodes/cc-fonts.el (c-make-syntactic-matcher):
4274 helper. 4281 New internal helper.
4275 4282
4276 (c-cpp-matchers, c-basic-matchers-before): Use the `eval' 4283 (c-cpp-matchers, c-basic-matchers-before): Use the `eval'
4277 construct to make the indirect face lookup work in XEmacs. 4284 construct to make the indirect face lookup work in XEmacs.
4278 4285
4279 (c-cpp-matchers): Append the negation char face to the existing 4286 (c-cpp-matchers): Append the negation char face to the existing
4280 fontification, so that the cpp face doesn't disappear. Use 4287 fontification, so that the cpp face doesn't disappear.
4281 `c-make-syntactic-matcher' to avoid negation chars in comments and 4288 Use `c-make-syntactic-matcher' to avoid negation chars in comments
4282 strings. 4289 and strings.
4283 4290
4284 * progmodes/cc-fonts.el (c-negation-char-face-name): New variable 4291 * progmodes/cc-fonts.el (c-negation-char-face-name): New variable
4285 to map to `font-lock-negation-char-face' in emacsen where it 4292 to map to `font-lock-negation-char-face' in emacsen where it exists.
4286 exists.
4287 4293
4288 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 4294 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4289 4295
4290 * progmodes/cc-mode.el: Bind c-subword-mode to C-c C-w. 4296 * progmodes/cc-mode.el: Bind c-subword-mode to C-c C-w.
4291 4297
4304 4310
4305 * progmodes/cc-mode.el: 4311 * progmodes/cc-mode.el:
4306 (i) Insert a binding for C-c C-backspace into 4312 (i) Insert a binding for C-c C-backspace into
4307 c-bind-special-erase-keys which works in TTYs. 4313 c-bind-special-erase-keys which works in TTYs.
4308 (ii) Make sure that when file styles are used, any explicitly 4314 (ii) Make sure that when file styles are used, any explicitly
4309 given style variables take priority over those in the style. Do 4315 given style variables take priority over those in the style.
4310 this by calling `hack-local-variables' a second time. 4316 Do this by calling `hack-local-variables' a second time.
4311 4317
4312 * progmodes/cc-vars.el: Add language specific customization 4318 * progmodes/cc-vars.el: Add language specific customization
4313 widgets for AWK to c-doc-comment-style, c-require-final-newline 4319 widgets for AWK to c-doc-comment-style, c-require-final-newline
4314 and c-default-style. Add a defcustom for awk-mode-hook. Give 4320 and c-default-style. Add a defcustom for awk-mode-hook.
4315 c-syntactic-element and c-syntactic-context doc-strings by 4321 Give c-syntactic-element and c-syntactic-context doc-strings by
4316 directly setting their `variable-documentation' propery. This 4322 directly setting their `variable-documentation' propery.
4317 allows Emacs 22.1 to read these with C-h v. 4323 This allows Emacs 22.1 to read these with C-h v.
4318 4324
4319 * progmodes/cc-awk.el: Apply a tidy-up patch (from Stefan 4325 * progmodes/cc-awk.el: Apply a tidy-up patch (from Stefan Monnier).
4320 Monnier).
4321 4326
4322 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 4327 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4323 4328
4324 * progmodes/cc-fonts.el, cc-vars.el 4329 * progmodes/cc-fonts.el, cc-vars.el
4325 (gtkdoc-font-lock-doc-comments, gtkdoc-font-lock-doc-protection) 4330 (gtkdoc-font-lock-doc-comments, gtkdoc-font-lock-doc-protection)
4341 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 4346 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4342 4347
4343 * progmodes/cc-mode.el: Give c-hungry-backspace and 4348 * progmodes/cc-mode.el: Give c-hungry-backspace and
4344 c-hungry-delete-forward permanent key bindings. 4349 c-hungry-delete-forward permanent key bindings.
4345 4350
4346 * progmodes/cc-cmds.el (c-electric-semi&comma): Bind 4351 * progmodes/cc-cmds.el (c-electric-semi&comma):
4347 c-syntactic-context for calls to "criteria functions", for 4352 Bind c-syntactic-context for calls to "criteria functions", for
4348 consistency with other calls to user functions. 4353 consistency with other calls to user functions.
4349 4354
4350 * progmodes/cc-cmds.el (c-indent-command): Expunge use of 4355 * progmodes/cc-cmds.el (c-indent-command): Expunge use of
4351 `current-prefix-arg', since this might be the prefix arg to a 4356 `current-prefix-arg', since this might be the prefix arg to a
4352 command which calls c-indent-command as a function. Change the 4357 command which calls c-indent-command as a function. Change the
4356 reponse to a report from Joseph Kiniry <kiniry@acm.org> that it 4361 reponse to a report from Joseph Kiniry <kiniry@acm.org> that it
4357 was difficult to understand. 4362 was difficult to understand.
4358 4363
4359 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 4364 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4360 4365
4361 * progmodes/cc-engine.el (c-on-identifier): Fixed bug when at the 4366 * progmodes/cc-engine.el (c-on-identifier): Fix bug when at the
4362 first char of an identifier. 4367 first char of an identifier.
4363 4368
4364 * progmodes/cc-engine.el (c-on-identifier): Handle the "operator 4369 * progmodes/cc-engine.el (c-on-identifier): Handle the "operator
4365 +" syntax in C++. 4370 +" syntax in C++.
4366 4371
4381 second line. 4386 second line.
4382 4387
4383 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 4388 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4384 4389
4385 * progmodes/cc-fonts.el (c-cpp-matchers, c-basic-matchers-before): 4390 * progmodes/cc-fonts.el (c-cpp-matchers, c-basic-matchers-before):
4386 Incorporated the patterns added in the Emacs development branch 4391 Incorporate the patterns added in the Emacs development branch
4387 for the new Emacs 22 face `font-lock-negation-char-face'. 4392 for the new Emacs 22 face `font-lock-negation-char-face'.
4388 4393
4389 * progmodes/cc-fonts.el (c-invalid-face-name): Use "red1" instead 4394 * progmodes/cc-fonts.el (c-invalid-face-name): Use "red1" instead
4390 of "red" since it stands out better in xterms and DOS terminals. 4395 of "red" since it stands out better in xterms and DOS terminals.
4391 4396
4392 * progmodes/cc-engine.el (c-literal-faces): Added 4397 * progmodes/cc-engine.el (c-literal-faces):
4393 `font-lock-comment-delimiter-face' which is new in Emacs 22. 4398 Add `font-lock-comment-delimiter-face' which is new in Emacs 22.
4394 4399
4395 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 4400 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4396 4401
4397 * progmodes/cc-cmds.el: Make C-c C-a (`c-toggle-auto-newline') 4402 * progmodes/cc-cmds.el: Make C-c C-a (`c-toggle-auto-newline')
4398 forcibly enable c-electric-flag. 4403 forcibly enable c-electric-flag.
4399 4404
4400 * progmodes/cc-vars.el, cc-cmds.el: New clean-up 4405 * progmodes/cc-vars.el, cc-cmds.el: New clean-up
4401 `comment-close-slash' on c-electric-slash: if enabled, typing `/' 4406 `comment-close-slash' on c-electric-slash: if enabled, typing `/' just
4402 just after the comment-prefix of a C-style comment will close that 4407 after the comment-prefix of a C-style comment will close that comment.
4403 comment.
4404 4408
4405 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 4409 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4406 4410
4407 * progmodes/cc-fonts.el (c-basic-matchers-before) 4411 * progmodes/cc-fonts.el (c-basic-matchers-before)
4408 (c-complex-decl-matchers): Fixed the "not-arrow-prefix" regexp used 4412 (c-complex-decl-matchers): Fix the "not-arrow-prefix" regexp used
4409 in Pike. 4413 in Pike.
4410 4414
4411 * progmodes/cc-langs.el (c-other-op-syntax-tokens): Only C++ has 4415 * progmodes/cc-langs.el (c-other-op-syntax-tokens): Only C++ has
4412 digraphs. 4416 digraphs.
4413 4417
4414 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el 4418 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el
4415 (c-cpp-message-directives, c-cpp-include-directives) 4419 (c-cpp-message-directives, c-cpp-include-directives)
4416 (c-opt-cpp-macro-define, c-opt-cpp-macro-define-start) 4420 (c-opt-cpp-macro-define, c-opt-cpp-macro-define-start)
4417 (c-cpp-expr-directives): Introduced new language constants to 4421 (c-cpp-expr-directives): Introduce new language constants to
4418 control cpp syntax in a cleaner way. 4422 control cpp syntax in a cleaner way.
4419 4423
4420 (c-cpp-expr-functions): Renamed from c-cpp-defined-fns. 4424 (c-cpp-expr-functions): Rename from c-cpp-defined-fns.
4421 4425
4422 (c-cpp-matchers, c-forward-to-cpp-define-body): Use them. 4426 (c-cpp-matchers, c-forward-to-cpp-define-body): Use them.
4423 4427
4424 * progmodes/cc-langs.el, cc-fonts.el (c-string-escaped-newlines) 4428 * progmodes/cc-langs.el, cc-fonts.el (c-string-escaped-newlines)
4425 (c-multiline-string-start-char): New language constants and 4429 (c-multiline-string-start-char): New language constants and
4447 4451
4448 (c-lineup-topmost-intro-cont, c-just-after-func-arglist-p) 4452 (c-lineup-topmost-intro-cont, c-just-after-func-arglist-p)
4449 (c-guess-basic-syntax): Handle C++ operator identifiers in 4453 (c-guess-basic-syntax): Handle C++ operator identifiers in
4450 declarations. 4454 declarations.
4451 4455
4452 * progmodes/cc-langs.el (c-assignment-operators): Added the 4456 * progmodes/cc-langs.el (c-assignment-operators): Add the
4453 trigraph version of ^= too. 4457 trigraph version of ^= too.
4454 4458
4455 * progmodes/cc-langs.el (c-assignment-operators): Added the 4459 * progmodes/cc-langs.el (c-assignment-operators): Add the
4456 trigraph version of |= in C++. 4460 trigraph version of |= in C++.
4457 4461
4458 * progmodes/cc-fonts.el (c-font-lock-declarators): Handle 4462 * progmodes/cc-fonts.el (c-font-lock-declarators):
4459 `c-decl-hangon-kwds' after the identifier name. 4463 Handle `c-decl-hangon-kwds' after the identifier name.
4460 4464
4461 * progmodes/cc-engine.el (c-guess-basic-syntax): When deciding 4465 * progmodes/cc-engine.el (c-guess-basic-syntax): When deciding
4462 whether an arglist is "nonempty", ignore a comment after the open 4466 whether an arglist is "nonempty", ignore a comment after the open
4463 paren if it isn't followed by a non-comment token on the same 4467 paren if it isn't followed by a non-comment token on the same line.
4464 line. 4468
4465 4469 * progmodes/cc-engine.el (c-guess-basic-syntax): Case 4:
4466 * progmodes/cc-engine.el (c-guess-basic-syntax): Case 4: Enable 4470 Enable heuristics below the point to cope with classes inside special
4467 heuristics below the point to cope with classes inside special
4468 brace lists in Pike. 4471 brace lists in Pike.
4469 4472
4470 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 4473 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4471 4474
4472 * progmodes/cc-cmds.el: Amend c-point-syntax to handle macros. 4475 * progmodes/cc-cmds.el: Amend c-point-syntax to handle macros.
4501 * progmodes/cc-vars.el: Make c-syntactic-indentation buffer local. 4504 * progmodes/cc-vars.el: Make c-syntactic-indentation buffer local.
4502 4505
4503 * progmodes/cc-cmds.el: Add `c-bytecomp-defun's for 4506 * progmodes/cc-cmds.el: Add `c-bytecomp-defun's for
4504 c-\(forward\|backward\)-subword. 4507 c-\(forward\|backward\)-subword.
4505 (c-update-modeline): Add the new modeline flag `l' for 4508 (c-update-modeline): Add the new modeline flag `l' for
4506 `c-electric-flag'. Make the auto-newline flag `a' dependent on 4509 `c-electric-flag'. Make the auto-newline flag `a' dependent on `l'.
4507 `l'. 4510 (c-toggle-auto-state): Rename it to `c-toggle-auto-newline'.
4508 (c-toggle-auto-state): Rename it to `c-toggle-auto-newline'. Make 4511 Make the old name an alias of the new name.
4509 the old name an alias of the new name.
4510 (c-toggle-electric-state): New function. 4512 (c-toggle-electric-state): New function.
4511 c-electric-\(pound\|brace\|slash\|star\|semi&comma\|colon\|lt-gt\|paren\|continued-statement\): 4513 (c-electric-\(pound\|brace\|slash\|star\|semi&comma\|colon\|lt-gt\|paren\|continued-statement\)):
4512 Adapt these functions to do electric things only when 4514 Adapt these functions to do electric things only when
4513 c-electric-flag is non-nil. 4515 c-electric-flag is non-nil.
4514 (c-point-syntax, c-brace-newlines, c-try-oneliner): Extract these 4516 (c-point-syntax, c-brace-newlines, c-try-oneliner): Extract these
4515 new functions from c-electric-brace. 4517 new functions from c-electric-brace.
4516 (c-point-syntax): Add a check for "virtual semicolons" in AWK 4518 (c-point-syntax): Add a check for "virtual semicolons" in AWK
4522 restructure a bit. 4524 restructure a bit.
4523 4525
4524 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 4526 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4525 4527
4526 * progmodes/cc-cmds.el (c-show-syntactic-information): Show the 4528 * progmodes/cc-cmds.el (c-show-syntactic-information): Show the
4527 anchor position(s) using faces. Thanks to Masatake YAMATO for the 4529 anchor position(s) using faces. Thanks to Masatake YAMATO for the idea.
4528 idea.
4529 4530
4530 * progmodes/cc-mode.el, cc-cmds.el, cc-defs.el, cc-engine.el 4531 * progmodes/cc-mode.el, cc-cmds.el, cc-defs.el, cc-engine.el
4531 (c-submode-indicators): Changed name from `c-auto-hungry-string' 4532 (c-submode-indicators): Change name from `c-auto-hungry-string'
4532 since it's now used to track another submode. 4533 since it's now used to track another submode.
4533 4534
4534 (c-update-modeline): Converted to function and extended to check 4535 (c-update-modeline): Convert to function and extended to check
4535 `c-subword-move-mode'. 4536 `c-subword-move-mode'.
4536 4537
4537 (c-forward-into-nomenclature, c-backward-into-nomenclature): 4538 (c-forward-into-nomenclature, c-backward-into-nomenclature):
4538 Converted to compat aliases for `c-forward-subword' and 4539 Convert to compat aliases for `c-forward-subword' and
4539 `c-backward-subword'. 4540 `c-backward-subword'.
4540 4541
4541 * progmodes/cc-subword.el: New functions and minor mode to handle 4542 * progmodes/cc-subword.el: New functions and minor mode to handle
4542 SillyCapsedStyleIndentifiers, contributed by Masatake YAMATO: 4543 SillyCapsedStyleIndentifiers, contributed by Masatake YAMATO:
4543 4544
4576 c-max-one-liner-length. In c-default-style, set the default style 4577 c-max-one-liner-length. In c-default-style, set the default style
4577 for AWK to "awk". 4578 for AWK to "awk".
4578 4579
4579 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 4580 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4580 4581
4581 * progmodes/cc-engine.el (c-forward-label): Fixed fontification of 4582 * progmodes/cc-engine.el (c-forward-label): Fix fontification of
4582 macros inside labels. 4583 macros inside labels.
4583 4584
4584 * progmodes/cc-engine.el (c-looking-at-bos): Obsoleted in favor of 4585 * progmodes/cc-engine.el (c-looking-at-bos): Obsolete in favor of
4585 `c-at-statement-start-p' and `c-at-expression-start-p'. 4586 `c-at-statement-start-p' and `c-at-expression-start-p'.
4586 4587
4587 * progmodes/cc-defs.el (c-tnt-chng-record-state): Don't signal an 4588 * progmodes/cc-defs.el (c-tnt-chng-record-state): Don't signal an
4588 error if the mark isn't set. 4589 error if the mark isn't set.
4589 4590
4593 4594
4594 * progmodes/cc-engine.el (c-at-expression-start-p): New function 4595 * progmodes/cc-engine.el (c-at-expression-start-p): New function
4595 like `c-at-statement-start-p' that additionally recognizes commas 4596 like `c-at-statement-start-p' that additionally recognizes commas
4596 and expression parentheses as delimiters. 4597 and expression parentheses as delimiters.
4597 4598
4598 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Added flag 4599 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Add flag
4599 to avoid heuristics that doesn't work for unclosed blocks. 4600 to avoid heuristics that doesn't work for unclosed blocks.
4600
4601 (c-at-statement-start-p): New function. 4601 (c-at-statement-start-p): New function.
4602 4602
4603 * progmodes/cc-engine.el, cc-fonts.el: Fixes in handling of 4603 * progmodes/cc-engine.el, cc-fonts.el: Fixes in handling of
4604 Objective-C directives, e.g. directives spanning lines should work 4604 Objective-C directives, e.g. directives spanning lines should work
4605 reasonably well now. 4605 reasonably well now.
4610 directive. 4610 directive.
4611 4611
4612 (c-just-after-func-arglist-p, c-guess-basic-syntax) 4612 (c-just-after-func-arglist-p, c-guess-basic-syntax)
4613 (c-basic-matchers-before): Use it. 4613 (c-basic-matchers-before): Use it.
4614 4614
4615 (c-font-lock-objc-iip-decl): Removed. 4615 (c-font-lock-objc-iip-decl): Remove.
4616 4616
4617 * progmodes/cc-engine.el (c-guess-basic-syntax): Some improvement 4617 * progmodes/cc-engine.el (c-guess-basic-syntax): Some improvement
4618 in the template arglist recognition. 4618 in the template arglist recognition.
4619 4619
4620 * progmodes/cc-styles.el (c-style-alist): Fixed several 4620 * progmodes/cc-styles.el (c-style-alist): Fix several
4621 inconsistencies in the Whitesmith style. 4621 inconsistencies in the Whitesmith style.
4622 4622
4623 * progmodes/cc-align.el (c-lineup-after-whitesmith-blocks): 4623 * progmodes/cc-align.el (c-lineup-after-whitesmith-blocks):
4624 New lineup function to get lines after Whitesmith style blocks 4624 New lineup function to get lines after Whitesmith style blocks
4625 correctly indented. 4625 correctly indented.
4626 4626
4627 (c-lineup-whitesmith-in-block): Backed out the compensation for 4627 (c-lineup-whitesmith-in-block): Back out the compensation for
4628 opening parens since it's done using `add' lists in the style 4628 opening parens since it's done using `add' lists in the style
4629 definition instead. Don't use the anchor position since it varies 4629 definition instead. Don't use the anchor position since it varies
4630 too much between the syntactic symbols. :P 4630 too much between the syntactic symbols. :P
4631 4631
4632 * progmodes/cc-vars.el (c-valid-offset): Updated. 4632 * progmodes/cc-vars.el (c-valid-offset): Update.
4633 4633
4634 * progmodes/cc-engine.el (c-evaluate-offset): Extended to handle 4634 * progmodes/cc-engine.el (c-evaluate-offset): Extend to handle
4635 lists where the offsets are combined according to several 4635 lists where the offsets are combined according to several
4636 different methods: `first', `min', `max', and `add'. Report 4636 different methods: `first', `min', `max', and `add'.
4637 offset evaluation errors with `c-benign-error' so that some kind 4637 Report offset evaluation errors with `c-benign-error' so that some kind
4638 of reindentation still is done. 4638 of reindentation still is done.
4639 4639
4640 * progmodes/cc-engine.el (c-guess-basic-syntax): Anchor 4640 * progmodes/cc-engine.el (c-guess-basic-syntax):
4641 `arglist-intro' the same way as `arglist-cont-nonempty' and 4641 Anchor `arglist-intro' the same way as `arglist-cont-nonempty' and
4642 `arglist-close'. 4642 `arglist-close'.
4643 4643
4644 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed similar 4644 * progmodes/cc-engine.el (c-guess-basic-syntax): Fix similar
4645 situations for `arglist-cont-nonempty' and `arglist-close'. 4645 situations for `arglist-cont-nonempty' and `arglist-close'.
4646 4646
4647 * progmodes/cc-langs.el (c-opt-identifier-concat-key-depth): New 4647 * progmodes/cc-langs.el (c-opt-identifier-concat-key-depth): New const.
4648 constant.
4649 4648
4650 * progmodes/cc-defs.el: Use `cc-bytecomp-fboundp' and 4649 * progmodes/cc-defs.el: Use `cc-bytecomp-fboundp' and
4651 cc-bytecomp-boundp' in a number of places. 4650 cc-bytecomp-boundp' in a number of places.
4652 4651
4653 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed a 4652 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fix a
4654 macro related issue. 4653 macro related issue.
4655 4654
4656 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 4655 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4657 4656
4658 * progmodes/cc-awk.el: Change the terminology of regexps: A char 4657 * progmodes/cc-awk.el: Change the terminology of regexps: A char
4659 list is now [asdf], a char class [:alpha:]. Include code for char 4658 list is now [asdf], a char class [:alpha:].
4660 classes. Set c-awk-NL-prop on lines ending in open strings. (Bug 4659 Include code for char classes.
4661 fix.) Add character classes (e.g. "[:alpha:]") into AWK Mode's 4660 Set c-awk-NL-prop on lines ending in open strings. (Bug fix.)
4662 regexps. 4661 Add character classes (e.g. "[:alpha:]") into AWK Mode's regexps.
4663 4662
4664 Remove (nearly all of) the cruft associated with AWK Mode's former 4663 Remove (nearly all of) the cruft associated with AWK Mode's former
4665 concept of "virtual semicolons": 4664 concept of "virtual semicolons":
4666 4665
4667 Adapt c-beginning-of-statement, c-end-of-statement (together with 4666 Adapt c-beginning-of-statement, c-end-of-statement (together with
4696 outside it (could happen e.g. when fontifying a line with an 4695 outside it (could happen e.g. when fontifying a line with an
4697 unfinished declaration). 4696 unfinished declaration).
4698 4697
4699 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 4698 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4700 4699
4701 * progmodes/cc-awk.el: Regexps for analysing AWK code have been 4700 * progmodes/cc-awk.el: Move regexps for analysing AWK code to near the
4702 moved to near the start of the file. ^L now separate sections of 4701 start of the file. ^L now separate sections of the file.
4703 the file. New defconsts: c-awk-non-eol-esc-pair-re, 4702 (c-awk-non-eol-esc-pair-re, c-awk-blank-or-comment-line-re)
4704 c-awk-blank-or-comment-line-re, 4703 (c-awk-one-line-possibly-open-string-re)
4705 c-awk-one-line-possibly-open-string-re, 4704 (c-awk-regexp-one-line-possibly-open-char-class-re)
4706 c-awk-regexp-one-line-possibly-open-char-class-re, 4705 (c-awk-one-line-possibly-open-regexp-re)
4707 c-awk-one-line-possibly-open-regexp-re, 4706 (c-awk-one-line-non-syn-ws*-re): New defonsts.
4708 c-awk-one-line-non-syn-ws*-re. New functions: c-awk-at-vsemi-p, 4707 (c-awk-at-vsemi-p, c-awk-vsemi-status-unknown-p): New functions.
4709 c-awk-vsemi-status-unknown-p.
4710 4708
4711 Amend the concept of "virtual semicolons" (in the indentation 4709 Amend the concept of "virtual semicolons" (in the indentation
4712 engine) for languages like AWK, such that they are now 4710 engine) for languages like AWK, such that they are now
4713 conceptually attached to end of the last token of a statement, not 4711 conceptually attached to end of the last token of a statement, not
4714 the end of the line. (In AWK Mode, however, the pertinent text 4712 the end of the line. (In AWK Mode, however, the pertinent text
4715 property is still physically set on the EOL.) Remove the specific 4713 property is still physically set on the EOL.) Remove the specific
4716 tests for awk-mode, thus facilitating the introduction of other 4714 tests for awk-mode, thus facilitating the introduction of other
4717 language modes where EOLs can end statements. (Note: The 4715 language modes where EOLs can end statements.
4718 funtionality in cc-cmds.el, specifically 4716 (Note: The funtionality in cc-cmds.el, specifically
4719 c-beginning/end-of-statement has yet to be amended.) 4717 c-beginning/end-of-statement has yet to be amended.)
4720 4718
4721 * progmodes/cc-defs.el: New macros c-at-vsemi-p, 4719 * progmodes/cc-defs.el (c-at-vsemi-p, c-vsemi-status-unknown-p):
4722 c-vsemi-status-unknown-p. 4720 New macros.
4723 4721
4724 * progmodes/cc-langs.el: Added `#' into AWK Mode's value of 4722 * progmodes/cc-langs.el: Added `#' into AWK Mode's value of
4725 c-stmt-delim-chars. New c-lang-defvars: c-at-vsemi-p-fn, 4723 c-stmt-delim-chars. New c-lang-defvars: c-at-vsemi-p-fn,
4726 c-vsemi-status-unknown-p-fn (in a new page). 4724 c-vsemi-status-unknown-p-fn (in a new page).
4727 4725
4728 * progmodes/cc-engine.el: In c-beginning-of-statement-1, 4726 * progmodes/cc-engine.el: In c-beginning-of-statement-1,
4729 c-crosses-statement-barrier-p, c-guess-basic-syntax, replace 4727 c-crosses-statement-barrier-p, c-guess-basic-syntax, replace
4730 numerous awkward forms like 4728 numerous awkward forms like
4731 (if (c-major-mode-is 'awk-mode) (c-awk-prev-line-incomplete-p)) 4729 (if (c-major-mode-is 'awk-mode) (c-awk-prev-line-incomplete-p))
4732 with 4730 with (c-at-vsemi-p). Fix a few typos. In c-guess-basic-syntax, new
4733 (c-at-vsemi-p). Fix a few typos. In c-guess-basic-syntax, new 4731 variable before-ws-ip, the place just after char-before-ip appears.
4734 variable before-ws-ip, the place just after char-before-ip
4735 appears.
4736 4732
4737 * progmodes/cc-mode.el: Fix what's almost a semantic ambiguity in 4733 * progmodes/cc-mode.el: Fix what's almost a semantic ambiguity in
4738 a comment. 4734 a comment.
4739 4735
4740 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 4736 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4741 4737
4742 * progmodes/cc-cmds.el (c-electric-brace): Cleaned up using 4738 * progmodes/cc-cmds.el (c-electric-brace): Clean up using
4743 `c-tentative-buffer-changes'. 4739 `c-tentative-buffer-changes'.
4744 4740
4745 * progmodes/cc-defs.el (c-region-is-active-p): Simplified and 4741 * progmodes/cc-defs.el (c-region-is-active-p): Simplify and
4746 converted to macro to choose between Emacs and XEmacs at compile 4742 convert to macro to choose between Emacs and XEmacs at compile time.
4747 time. 4743
4748 4744 (c-set-region-active): New set counterpart to `c-region-is-active-p'.
4749 (c-set-region-active): New set counterpart to
4750 `c-region-is-active-p'.
4751 4745
4752 (c-tentative-buffer-changes): New macro to handle temporary buffer 4746 (c-tentative-buffer-changes): New macro to handle temporary buffer
4753 changes in a convenient way. 4747 changes in a convenient way.
4754 4748
4755 (c-tnt-chng-record-state, c-tnt-chng-cleanup): Internal helpers 4749 (c-tnt-chng-record-state, c-tnt-chng-cleanup): Internal helpers
4756 for `c-tentative-buffer-changes'. 4750 for `c-tentative-buffer-changes'.
4757 4751
4758 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Tightened up 4752 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Tighten up
4759 the checks for paren sexps between the point and the keyword, to 4753 the checks for paren sexps between the point and the keyword, to
4760 avoid some false alarms. 4754 avoid some false alarms.
4761 4755
4762 * progmodes/cc-engine.el, cc-langs.el (c-looking-at-inexpr-block): 4756 * progmodes/cc-engine.el, cc-langs.el (c-looking-at-inexpr-block):
4763 Fixed a situation where an error could be thrown for unbalanced 4757 Fixed a situation where an error could be thrown for unbalanced
4764 parens. Changed to make use of c-keyword-member' to avoid some 4758 parens. Changed to make use of c-keyword-member' to avoid some
4765 repeated regexp matches. 4759 repeated regexp matches.
4766 4760
4767 (c-opt-lambda-key, c-opt-inexpr-block-key, 4761 (c-opt-lambda-key, c-opt-inexpr-block-key, c-opt-inexpr-class-key):
4768 c-opt-inexpr-class-key): These language variable are no longer 4762 These language variable are no longer necessary.
4769 necessary.
4770 4763
4771 (c-block-stmt-kwds): New language constant used by 4764 (c-block-stmt-kwds): New language constant used by
4772 c-looking-at-inexpr-block'. 4765 c-looking-at-inexpr-block'.
4773 4766
4774 (c-guess-basic-syntax): Removed an optional check that looked at 4767 (c-guess-basic-syntax): Remove an optional check that looked at
4775 the existence of the now removed language variables. 4768 the existence of the now removed language variables.
4776 4769
4777 * progmodes/cc-engine.el (c-fdoc-shift-type-backward, 4770 * progmodes/cc-engine.el (c-fdoc-shift-type-backward)
4778 c-forward-decl-or-cast-1): Fixed invalid recognition of C++ style 4771 (c-forward-decl-or-cast-1): Fix invalid recognition of C++ style
4779 object instantiation expressions as declarations in some contexts. 4772 object instantiation expressions as declarations in some contexts.
4780 This bug only affected languages where the declarator can't be 4773 This bug only affected languages where the declarator can't be
4781 enclosed in parentheses. 4774 enclosed in parentheses.
4782 4775
4783 * progmodes/cc-styles.el (c-style-alist): Fixed the GNU style to 4776 * progmodes/cc-styles.el (c-style-alist): Fix the GNU style to
4784 insert newlines before and after substatement braces. 4777 insert newlines before and after substatement braces.
4785 4778
4786 * progmodes/cc-engine.el: Improved the heuristics for recognizing 4779 * progmodes/cc-engine.el: Improved the heuristics for recognizing
4787 function declaration headers and the handling of C++ style member 4780 function declaration headers and the handling of C++ style member
4788 init lists. 4781 init lists.
4789 4782
4790 (c-just-after-func-arglist-p): Rewritten to use 4783 (c-just-after-func-arglist-p): Rewritten to use
4791 `c-forward-decl-or-cast-1'. Now behaves a bit differently too. 4784 `c-forward-decl-or-cast-1'. Now behaves a bit differently too.
4792 4785
4793 (c-beginning-of-member-init-list): Removed since it isn't used 4786 (c-beginning-of-member-init-list): Remove since it isn't used anymore.
4794 anymore. 4787
4795 4788 (c-guess-basic-syntax): Adapt case 5B for the new
4796 (c-guess-basic-syntax): Case 5B adapted for the new 4789 `c-just-after-func-arglist-p'. Merge cases 5B.1 and 5B.3.
4797 `c-just-after-func-arglist-p'. Cases 5B.1 and 5B.3 merged. Cases 4790 Remove cases 5D.1 and 5D.2 since they aren't trigged anymore (case 5B.1
4798 5D.1 and 5D.2 removed since they aren't trigged anymore (case 5B.1
4799 covers all cases now). 4791 covers all cases now).
4800 4792
4801 * progmodes/cc-defs.el (c-point): Added `bosws' and `eosws'. 4793 * progmodes/cc-defs.el (c-point): Add `bosws' and `eosws'.
4802 4794
4803 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 4795 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4804 4796
4805 * progmodes/cc-cmds.el, cc-styles.el, cc-vars.el: New variables 4797 * progmodes/cc-cmds.el, cc-styles.el, cc-vars.el: New variables
4806 c-string-par-start/separate c-sentence-end-with-esc-eol, 4798 c-string-par-start/separate c-sentence-end-with-esc-eol,
4819 (c-looking-at-decl-block): The new function. 4811 (c-looking-at-decl-block): The new function.
4820 4812
4821 (c-search-uplist-for-classkey): The old one. It's now a wrapper 4813 (c-search-uplist-for-classkey): The old one. It's now a wrapper
4822 for compatibility. 4814 for compatibility.
4823 4815
4824 (c-add-class-syntax, c-guess-continued-construct, 4816 (c-add-class-syntax, c-guess-continued-construct)
4825 c-guess-basic-syntax): Adapted for `c-looking-at-decl-block'. 4817 (c-guess-basic-syntax): Adapt for `c-looking-at-decl-block'.
4826 4818
4827 (c-decl-block-key): Changed to tell apart ambiguous and 4819 (c-decl-block-key): Change to tell apart ambiguous and
4828 unambiguous keywords. Pike specials are now handled directly in 4820 unambiguous keywords. Pike specials are now handled directly in
4829 the code instead. 4821 the code instead.
4830 4822
4831 (c-block-prefix-disallowed-chars, c-block-prefix-charset): New 4823 (c-block-prefix-disallowed-chars, c-block-prefix-charset):
4832 language constants and variables to make the backward skip in 4824 New language constants and variables to make the backward skip in
4833 `c-looking-at-decl-block' as tight as possible. 4825 `c-looking-at-decl-block' as tight as possible.
4834 4826
4835 (c-nonsymbol-token-char-list): New language constant. 4827 (c-nonsymbol-token-char-list): New language constant.
4836 4828
4837 * progmodes/cc-engine.el (c-backward-<>-arglist): New function to 4829 * progmodes/cc-engine.el (c-backward-<>-arglist): New function to
4838 find balanced template arglists backwards. 4830 find balanced template arglists backwards.
4839 4831
4840 * progmodes/cc-defs.el (c-make-bare-char-alt): New helper for 4832 * progmodes/cc-defs.el (c-make-bare-char-alt): New helper for
4841 making char classes for `c-syntactic-skip-backward'. 4833 making char classes for `c-syntactic-skip-backward'.
4842 4834
4843 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplified case 4835 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplify case
4844 16D - can't be a class-close at that point. 4836 16D - can't be a class-close at that point.
4845 4837
4846 * progmodes/cc-engine.el (c-guess-basic-syntax) 4838 * progmodes/cc-engine.el (c-guess-basic-syntax)
4847 (c-add-class-syntax): Don't narrow out the enclosing declaration 4839 (c-add-class-syntax): Don't narrow out the enclosing declaration
4848 level. This makes everything a lot easier, and it was actually 4840 level. This makes everything a lot easier, and it was actually
4849 only four small places that needed it to work. Some places that 4841 only four small places that needed it to work. Some places that
4850 previously did `widen' are removed now, which has the effect that 4842 previously did `widen' are removed now, which has the effect that
4851 `c-guess-basic-syntax' never will look at things outside the 4843 `c-guess-basic-syntax' never will look at things outside the
4852 current narrowment now. The anchor position for `topmost-intro' 4844 current narrowment now. The anchor position for `topmost-intro'
4853 is affected by this, but it was so bogus it was basically useless 4845 is affected by this, but it was so bogus it was basically useless
4854 before, and now it's equally bogus but in a slightly different 4846 before, and now it's equally bogus but in a slightly different way.
4855 way.
4856 4847
4857 (c-narrow-out-enclosing-class): Gone. 4848 (c-narrow-out-enclosing-class): Gone.
4858 4849
4859 (c-most-enclosing-brace, c-least-enclosing-brace): Don't filter to 4850 (c-most-enclosing-brace, c-least-enclosing-brace): Don't filter to
4860 the narrowed region. 4851 the narrowed region.
4861 4852
4862 (c-least-enclosing-brace): Removed silly optional argument. 4853 (c-least-enclosing-brace): Remove silly optional argument.
4863 4854
4864 * progmodes/cc-engine.el (c-beginning-of-decl-1): Fixed bug where 4855 * progmodes/cc-engine.el (c-beginning-of-decl-1): Fix bug where
4865 the point could be left directly after an open paren when finding 4856 the point could be left directly after an open paren when finding
4866 the beginning of the first decl in the block. 4857 the beginning of the first decl in the block.
4867 4858
4868 * progmodes/cc-engine.el, cc-fonts.el (c-forward-keyword-clause): 4859 * progmodes/cc-engine.el, cc-fonts.el (c-forward-keyword-clause):
4869 Specify which submatch to use. 4860 Specify which submatch to use.
4884 4875
4885 (c-opt-identifier-concat-key, c-opt-after-id-concat-key) 4876 (c-opt-identifier-concat-key, c-opt-after-id-concat-key)
4886 (c-identifier-start, c-identifier-key): Now completely calculated 4877 (c-identifier-start, c-identifier-key): Now completely calculated
4887 from other constants. 4878 from other constants.
4888 4879
4889 (c-identifier-last-sym-match): Decommissioned since it's no longer 4880 (c-identifier-last-sym-match): Decommission since it's no longer used.
4890 used. 4881
4891 4882 (c-operators): Use `c-identifier-ops'. Document `postfix-if-paren'.
4892 (c-operators): Use `c-identifier-ops'. Documented 4883
4893 `postfix-if-paren'. 4884 * progmodes/cc-engine.el (c-forward-name): Remove the
4894
4895 * progmodes/cc-engine.el (c-forward-name): Removed the
4896 optimization when c-identifier-key is equal to c-symbol-key since 4885 optimization when c-identifier-key is equal to c-symbol-key since
4897 it doesn't work in byte compiled files. Don't record empty 4886 it doesn't work in byte compiled files. Don't record empty
4898 regions as identifiers. 4887 regions as identifiers.
4899 4888
4900 * progmodes/cc-langs.el (c-filter-ops): New helper function to 4889 * progmodes/cc-langs.el (c-filter-ops): New helper function to
4906 (c-primary-expr-regexp, c-cast-parens): Use it. 4895 (c-primary-expr-regexp, c-cast-parens): Use it.
4907 4896
4908 * progmodes/cc-defs.el (c-lang-const): Fixes to allow use without 4897 * progmodes/cc-defs.el (c-lang-const): Fixes to allow use without
4909 an explicit language in functions. 4898 an explicit language in functions.
4910 4899
4911 * progmodes/cc-defs.el (c-make-keywords-re): Added an appendable 4900 * progmodes/cc-defs.el (c-make-keywords-re): Add an appendable
4912 variant of adornment. 4901 variant of adornment.
4913 4902
4914 * progmodes/cc-langs.el (c-any-class-key): Removed unused language 4903 * progmodes/cc-langs.el (c-any-class-key): Remove unused language
4915 variable. 4904 variable.
4916 4905
4917 (c-type-decl-prefix-key): Removed some now unnecessary cruft from 4906 (c-type-decl-prefix-key): Remove some now unnecessary cruft from
4918 the Pike value. 4907 the Pike value.
4919 4908
4920 * progmodes/cc-engine.el (c-on-identifier) 4909 * progmodes/cc-engine.el (c-on-identifier)
4921 (c-simple-skip-symbol-backward): Small fix for handling "-" 4910 (c-simple-skip-symbol-backward): Small fix for handling "-"
4922 correctly in `skip-chars-backward'. Affected the operator lfun 4911 correctly in `skip-chars-backward'. Affected the operator lfun
4923 syntax in Pike. 4912 syntax in Pike.
4924 4913
4925 * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Disabled the 4914 * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Disable the
4926 diagnostic message about precompiled language vars not being used. 4915 diagnostic message about precompiled language vars not being used.
4927 4916
4928 * progmodes/cc-langs.el (c-paren-nontype-kwds): The GCC keyword 4917 * progmodes/cc-langs.el (c-paren-nontype-kwds): The GCC keyword
4929 "__attribute__" is followed by a parenthesis. 4918 "__attribute__" is followed by a parenthesis.
4930 4919
4931 (c-type-start-kwds, c-prefix-spec-kwds, c-prefix-spec-kwds-re) 4920 (c-type-start-kwds, c-prefix-spec-kwds, c-prefix-spec-kwds-re)
4932 (c-specifier-key, c-not-decl-init-keywords): Some cleanup using new 4921 (c-specifier-key, c-not-decl-init-keywords): Some cleanup using new
4933 language constants `c-type-start-kwds' and `c-prefix-spec-kwds'. 4922 language constants `c-type-start-kwds' and `c-prefix-spec-kwds'.
4934 4923
4935 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el: Internal 4924 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el:
4936 cleanups to properly detect the declared identifiers in various 4925 Internal cleanups to properly detect the declared identifiers in
4937 declarations. 4926 various declarations.
4938 4927
4939 (c-decl-start-kwds): New language constant to recognize 4928 (c-decl-start-kwds): New language constant to recognize
4940 declarations that can start anywhere. Used for class declarations 4929 declarations that can start anywhere. Used for class declarations
4941 in Pike. 4930 in Pike.
4942 4931
4943 (c-specifier-key, c-not-decl-init-keywords) 4932 (c-specifier-key, c-not-decl-init-keywords)
4944 (c-decl-prefix-or-start-re, c-find-decl-prefix-search) 4933 (c-decl-prefix-or-start-re, c-find-decl-prefix-search)
4945 (c-find-decl-spots): Implement `c-decl-start-kwds'. 4934 (c-find-decl-spots): Implement `c-decl-start-kwds'.
4946 4935
4947 (c-other-decl-kwds, c-postfix-decl-spec-kwds, c-decl-hangon-kwds) 4936 (c-other-decl-kwds, c-postfix-decl-spec-kwds, c-decl-hangon-kwds)
4948 (c-decl-hangon-key, c-forward-decl-or-cast-1): Separated the 4937 (c-decl-hangon-key, c-forward-decl-or-cast-1): Separate the
4949 handling of the compiler specific extension keywords into a new 4938 handling of the compiler specific extension keywords into a new
4950 language constant `c-decl-hangon-kwds' that defines keyword 4939 language constant `c-decl-hangon-kwds' that defines keyword
4951 clauses to be ignored in declarations. 4940 clauses to be ignored in declarations.
4952 4941
4953 (c-forward-id-comma-list, c-forward-keyword-clause): Don't skip 4942 (c-forward-id-comma-list, c-forward-keyword-clause): Don't skip
4959 (c-prefix-spec-kwds-re, c-postfix-spec-kwds) 4948 (c-prefix-spec-kwds-re, c-postfix-spec-kwds)
4960 (c-after-suffixed-type-decl-key, c-opt-postfix-decl-spec-key) 4949 (c-after-suffixed-type-decl-key, c-opt-postfix-decl-spec-key)
4961 (c-forward-decl-or-cast-1): Recognize the declared identifier in 4950 (c-forward-decl-or-cast-1): Recognize the declared identifier in
4962 class and enum declarations as such and not as part of the type. 4951 class and enum declarations as such and not as part of the type.
4963 4952
4964 (c-forward-decl-or-cast-1, c-forward-label): Relaxed the 4953 (c-forward-decl-or-cast-1, c-forward-label): Relax the
4965 interpretation of PRECEDING-TOKEN-END when there's no preceding 4954 interpretation of PRECEDING-TOKEN-END when there's no preceding token.
4966 token.
4967 4955
4968 (c-forward-decl-or-cast-1): Don't disregard sure signs of 4956 (c-forward-decl-or-cast-1): Don't disregard sure signs of
4969 declarations when there's some syntax error later on. 4957 declarations when there's some syntax error later on.
4970 4958
4971 (c-complex-decl-matchers): Did away with a reference to 4959 (c-complex-decl-matchers): Did away with a reference to
4974 * progmodes/cc-engine.el (c-maybe-labelp): Provide no default 4962 * progmodes/cc-engine.el (c-maybe-labelp): Provide no default
4975 value - this variable is always dynamically bound. 4963 value - this variable is always dynamically bound.
4976 4964
4977 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el, cc-menus.el 4965 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el, cc-menus.el
4978 * cc-mode.el, cc-styles.el, cc-vars.el, cc-align.el, cc-awk.el 4966 * cc-mode.el, cc-styles.el, cc-vars.el, cc-align.el, cc-awk.el
4979 * cc-cmds.el, cc-defs.el: Changed the policy for marking up 4967 * cc-cmds.el, cc-defs.el: Change the policy for marking up
4980 functions that might do hidden buffer changes: All such internal 4968 functions that might do hidden buffer changes: All such internal
4981 functions are now marked instead of those that don't. 4969 functions are now marked instead of those that don't.
4982 4970
4983 (c-beginning-of-macro, c-end-of-macro, c-(forward|backward)-comments) 4971 (c-beginning-of-macro, c-end-of-macro, c-(forward|backward)-comments)
4984 (c-(forward|backward)-single-comment, c-parse-state, c-on-identifier) 4972 (c-(forward|backward)-single-comment, c-parse-state, c-on-identifier)
4989 (c-electric-backspace, c-electric-delete-forward, c-electric-pound) 4977 (c-electric-backspace, c-electric-delete-forward, c-electric-pound)
4990 (c-electric-brace, c-electric-slash, c-electric-star) 4978 (c-electric-brace, c-electric-slash, c-electric-star)
4991 (c-electric-semi&comma, c-electric-colon, c-electric-lt-gt) 4979 (c-electric-semi&comma, c-electric-colon, c-electric-lt-gt)
4992 (c-electric-paren, c-electric-continued-statement, c-indent-command) 4980 (c-electric-paren, c-electric-continued-statement, c-indent-command)
4993 (c-indent-region, c-mask-paragraph, c-indent-new-comment-line) 4981 (c-indent-region, c-mask-paragraph, c-indent-new-comment-line)
4994 (c-context-line-break): Added `c-save-buffer-state' calls to comply 4982 (c-context-line-break): Add `c-save-buffer-state' calls to comply
4995 with the changed semantics of the functions above. 4983 with the changed semantics of the functions above.
4996 4984
4997 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed a bug 4985 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fix a bug
4998 when macros occur in obscure places. Optimized the sexp movement 4986 when macros occur in obscure places. Optimized the sexp movement
4999 a bit. 4987 a bit.
5000 4988
5001 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 4989 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
5002 4990
5024 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 5012 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
5025 5013
5026 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el: Cleaned up the 5014 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el: Cleaned up the
5027 label handling. Labels are now recognized in a uniform and more 5015 label handling. Labels are now recognized in a uniform and more
5028 robust way, regardless of context. Text properties are put on all 5016 robust way, regardless of context. Text properties are put on all
5029 labels to recognize the following declarations better. Multiword 5017 labels to recognize the following declarations better.
5030 labels are handled both in indentation and fontification for the 5018 Multiword labels are handled both in indentation and fontification for
5031 benefit of language extensions like Qt. For consistency, keywords 5019 the benefit of language extensions like Qt. For consistency, keywords
5032 in labels are now fontified with the label face instead. That 5020 in labels are now fontified with the label face instead.
5033 also applies to "case" and "default". 5021 That also applies to "case" and "default".
5034 5022
5035 (c-beginning-of-statement-1): Fixed some bugs in the label 5023 (c-beginning-of-statement-1): Fix some bugs in the label
5036 handling. Disregard `c-nonlabel-token-key' in labels that begin 5024 handling. Disregard `c-nonlabel-token-key' in labels that begin
5037 with `c-label-kwds'. 5025 with `c-label-kwds'.
5038 5026
5039 (c-find-decl-spots): Support that the callback adds more 5027 (c-find-decl-spots): Support that the callback adds more
5040 `c-decl-end' spots to find. 5028 `c-decl-end' spots to find.
5042 (c-forward-decl-or-cast-1): Don't treat a list of plain 5030 (c-forward-decl-or-cast-1): Don't treat a list of plain
5043 identifiers followed by a colon as a declaration. 5031 identifiers followed by a colon as a declaration.
5044 5032
5045 (c-forward-label): New function to recognize labels. 5033 (c-forward-label): New function to recognize labels.
5046 5034
5047 (c-guess-basic-syntax): Replaced uses of `c-label-key' with 5035 (c-guess-basic-syntax): Replace uses of `c-label-key' with
5048 `c-forward-label'. Moved the label recognition cases (14 and 15) 5036 `c-forward-label'. Moved the label recognition cases (14 and 15)
5049 earlier since they aren't so context sensitive now. Handle labels 5037 earlier since they aren't so context sensitive now. Handle labels
5050 on the top level gracefully. Moved access label recognition to 5038 on the top level gracefully. Moved access label recognition to
5051 the generic label case (CASE 15) - removed CASE 5E. 5039 the generic label case (CASE 15) - removed CASE 5E.
5052 5040
5053 (c-font-lock-declarations): Added recognition of labels in the 5041 (c-font-lock-declarations): Add recognition of labels in the
5054 same round since we need to handle labels in parallell with other 5042 same round since we need to handle labels in parallell with other
5055 declarations to recognize both accurately. It should also improve 5043 declarations to recognize both accurately. It should also improve
5056 speed. 5044 speed.
5057 5045
5058 (c-simple-decl-matchers, c-basic-matchers-after): Moved 5046 (c-simple-decl-matchers, c-basic-matchers-after):
5059 `c-font-lock-labels' so that it only is used on decoration level 2 5047 Move `c-font-lock-labels' so that it only is used on decoration level 2
5060 since `c-font-lock-declarations' handles it otherwise. 5048 since `c-font-lock-declarations' handles it otherwise.
5061 5049
5062 (c-complex-decl-matchers): Removed the simplistic recognition of 5050 (c-complex-decl-matchers): Remove the simplistic recognition of
5063 access labels. 5051 access labels.
5064 5052
5065 (c-decl-prefix-re): Removed the kludges that was necessary to cope 5053 (c-decl-prefix-re): Remove the kludges that was necessary to cope
5066 with labels earlier. 5054 with labels earlier.
5067 5055
5068 (c-decl-start-re): New language variable to make 5056 (c-decl-start-re): New language variable to make
5069 `c-font-lock-declarations' stop for the special protection labels 5057 `c-font-lock-declarations' stop for the special protection labels
5070 in Objective-C that start with `@'. 5058 in Objective-C that start with `@'.
5071 5059
5072 (c-label-key): Removed since it's no longer used. 5060 (c-label-key): Remove since it's no longer used.
5073 5061
5074 (c-recognize-colon-labels, c-label-prefix-re): New language 5062 (c-recognize-colon-labels, c-label-prefix-re): New language
5075 constants to support recognition of generic colon-terminated 5063 constants to support recognition of generic colon-terminated labels.
5076 labels.
5077 5064
5078 (c-type-decl-end-used): `c-decl-end' is now used whenever there 5065 (c-type-decl-end-used): `c-decl-end' is now used whenever there
5079 are colon terminated labels. 5066 are colon terminated labels.
5080 5067
5081 * progmodes/cc-align.el (c-lineup-arglist): Fixed bug when the 5068 * progmodes/cc-align.el (c-lineup-arglist): Fix bug when the
5082 first argument starts with a special brace list. 5069 first argument starts with a special brace list.
5083 5070
5084 * progmodes/cc-engine.el, cc-fonts.el (c-forward-decl-or-cast-1) 5071 * progmodes/cc-engine.el, cc-fonts.el (c-forward-decl-or-cast-1)
5085 (c-font-lock-declarations): Broke out the declaration and cast 5072 (c-font-lock-declarations): Break out the declaration and cast
5086 recognition from `c-font-lock-declarations' to a new function, so 5073 recognition from `c-font-lock-declarations' to a new function, so
5087 that it can be used in the indentation engine. 5074 that it can be used in the indentation engine.
5088 5075
5089 * progmodes/cc-engine.el (c-find-decl-spots): Fixed bug in backing 5076 * progmodes/cc-engine.el (c-find-decl-spots): Fix bug in backing
5090 up to the start of the literal. Fixed bug with the point on the 5077 up to the start of the literal. Fixed bug with the point on the
5091 wrong side of the search limit that could happen when the start 5078 wrong side of the search limit that could happen when the start
5092 position is inside a literal. 5079 position is inside a literal.
5093 5080
5094 * progmodes/cc-engine.el (c-parse-state) 5081 * progmodes/cc-engine.el (c-parse-state)
5095 (c-invalidate-state-cache): Modified the use of `c-state-cache-end' 5082 (c-invalidate-state-cache): Modify the use of `c-state-cache-end'
5096 so that it's kept a little bit back to increase the hit rate. 5083 so that it's kept a little bit back to increase the hit rate.
5097 5084
5098 (c-parse-state): Changed the macro handling and fixed some 5085 (c-parse-state): Change the macro handling and fixed some
5099 glitches. Macro context is checked more often than necessary now, 5086 glitches. Macro context is checked more often than necessary now,
5100 but otoh less garbage conses are generated. 5087 but otoh less garbage conses are generated.
5101 5088
5102 * progmodes/cc-engine.el (c-parse-state) 5089 * progmodes/cc-engine.el (c-parse-state)
5103 (c-invalidate-state-cache): Cache the last position where 5090 (c-invalidate-state-cache): Cache the last position where
5104 `c-state-cache' applies. This can speed up refontification quite 5091 `c-state-cache' applies. This can speed up refontification quite
5105 a bit in blocks where there are many non-brace parens before the 5092 a bit in blocks where there are many non-brace parens before the point.
5106 point.
5107 5093
5108 (c-state-cache-end): New variable for this. 5094 (c-state-cache-end): New variable for this.
5109 5095
5110 (c-guess-basic-syntax, c-debug-parse-state): Adapted for the new 5096 (c-guess-basic-syntax, c-debug-parse-state): Adapt for the new
5111 cache variable. 5097 cache variable.
5112 5098
5113 * progmodes/cc-engine.el (c-find-decl-spots): Take more care to 5099 * progmodes/cc-engine.el (c-find-decl-spots): Take more care to
5114 get close initial continue positions when the start position is 5100 get close initial continue positions when the start position is
5115 inside a literal or macro. Do not call the callback for spots 5101 inside a literal or macro. Do not call the callback for spots
5116 before the start position (which can happen e.g. for `c-decl-end' 5102 before the start position (which can happen e.g. for `c-decl-end'
5117 spots inside comments). Optimize better in special cases when the 5103 spots inside comments). Optimize better in special cases when the
5118 region is a single line inside a literal or macro (typically when 5104 region is a single line inside a literal or macro (typically when
5119 the current line is refontified). 5105 the current line is refontified).
5120 5106
5121 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplified calls 5107 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplify calls
5122 to `c-add-stmt-syntax' - there's no need to explicitly whack off 5108 to `c-add-stmt-syntax' - there's no need to explicitly whack off
5123 entries from the paren state. 5109 entries from the paren state.
5124 5110
5125 * progmodes/cc-engine.el (c-add-stmt-syntax): Narrowed down the 5111 * progmodes/cc-engine.el (c-add-stmt-syntax): Narrow down the
5126 special case for "else if" clauses. 5112 special case for "else if" clauses.
5127 5113
5128 * progmodes/cc-engine.el (c-looking-at-inexpr-block) 5114 * progmodes/cc-engine.el (c-looking-at-inexpr-block)
5129 (c-add-stmt-syntax): Use `c-recognize-paren-inexpr-blocks'. 5115 (c-add-stmt-syntax): Use `c-recognize-paren-inexpr-blocks'.
5130 5116
5131 * progmodes/cc-langs.el (c-recognize-paren-inexpr-blocks): New 5117 * progmodes/cc-langs.el (c-recognize-paren-inexpr-blocks):
5132 language variable to recognize the gcc extension with statement 5118 New language variable to recognize the gcc extension with statement
5133 blocks inside expressions. 5119 blocks inside expressions.
5134 5120
5135 * progmodes/cc-engine.el (c-add-stmt-syntax): Restructured to make 5121 * progmodes/cc-engine.el (c-add-stmt-syntax): Restructure to make
5136 it somewhat more comprehensible. The argument AT-BLOCK-START is 5122 it somewhat more comprehensible. The argument AT-BLOCK-START is
5137 no longer used and hence removed. 5123 no longer used and hence removed.
5138 5124
5139 (c-guess-continued-construct, c-guess-basic-syntax): Updated calls 5125 (c-guess-continued-construct, c-guess-basic-syntax): Update calls
5140 to `c-add-stmt-syntax'. 5126 to `c-add-stmt-syntax'.
5141 5127
5142 * progmodes/cc-engine.el (c-backward-to-decl-anchor): Use 5128 * progmodes/cc-engine.el (c-backward-to-decl-anchor):
5143 `c-beginning-of-statement-1' instead of duplicating parts of it. 5129 Use `c-beginning-of-statement-1' instead of duplicating parts of it.
5144 This fixes bogus label recognition. 5130 This fixes bogus label recognition.
5145 5131
5146 * progmodes/cc-engine.el (c-add-type, c-check-type) 5132 * progmodes/cc-engine.el (c-add-type, c-check-type)
5147 (c-forward-name, c-forward-type): Improved storage of template 5133 (c-forward-name, c-forward-type): Improve storage of template
5148 types in `c-found-types' so that they can be recognized better. 5134 types in `c-found-types' so that they can be recognized better.
5149 5135
5150 (c-syntactic-content): Added option to skip past nested parens. 5136 (c-syntactic-content): Add option to skip past nested parens.
5151 5137
5152 * progmodes/cc-engine.el (c-forward-name): Set 5138 * progmodes/cc-engine.el (c-forward-name):
5153 `c-last-identifier-range' all the time. It's less work that way. 5139 Set `c-last-identifier-range' all the time. It's less work that way.
5154 Handle that there might not be an identifier to store in 5140 Handle that there might not be an identifier to store in
5155 `c-last-identifier-range'. 5141 `c-last-identifier-range'.
5156 5142
5157 (c-forward-type): Handle that `c-last-identifier-range' might be 5143 (c-forward-type): Handle that `c-last-identifier-range' might be
5158 nil from `c-forward-name'. 5144 nil from `c-forward-name'.
5159 5145
5160 * progmodes/cc-defs.el (c-safe-scan-lists) 5146 * progmodes/cc-defs.el (c-safe-scan-lists)
5161 (c-(go-)?(up|down)-list-(forward|backward)): Added limit arguments. 5147 (c-(go-)?(up|down)-list-(forward|backward)): Add limit arguments.
5162 5148
5163 * progmodes/cc-defs.el (c-save-buffer-state): Use `unwind-protect' 5149 * progmodes/cc-defs.el (c-save-buffer-state): Use `unwind-protect'
5164 to work even if the form fails. 5150 to work even if the form fails.
5165 5151
5166 * progmodes/cc-engine.el (c-parse-state): Speedup when moving far 5152 * progmodes/cc-engine.el (c-parse-state): Speedup when moving far
5167 down in a large file in one go. 5153 down in a large file in one go.
5168 5154
5169 (c-get-fallback-start-pos): New helper function for 5155 (c-get-fallback-start-pos): New helper function for `c-parse-state'.
5170 `c-parse-state'.
5171 5156
5172 * progmodes/cc-align.el (c-lineup-assignments): New lineup 5157 * progmodes/cc-align.el (c-lineup-assignments): New lineup
5173 function which is like `c-lineup-math' but returns nil instead of 5158 function which is like `c-lineup-math' but returns nil instead of
5174 `c-basic-offset' when it doesn't match. 5159 `c-basic-offset' when it doesn't match.
5175 5160
5176 (c-lineup-math): Changed to use `c-lineup-assignments'. 5161 (c-lineup-math): Change to use `c-lineup-assignments'.
5177 5162
5178 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 5163 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
5179 5164
5180 * progmodes/cc-cmds.el: Fix some bugs in subfunctions of 5165 * progmodes/cc-cmds.el: Fix some bugs in subfunctions of
5181 c-beginning-of-statement. New subfunctions 5166 c-beginning-of-statement. New subfunctions
5186 * progmodes/cc-fonts.el, cc-langs.el: Use `c-simple-ws' instead of 5171 * progmodes/cc-fonts.el, cc-langs.el: Use `c-simple-ws' instead of
5187 hardcoded char classes whereever possible. Changed a couple of 5172 hardcoded char classes whereever possible. Changed a couple of
5188 places to use skip by syntax instead of skip by char class. 5173 places to use skip by syntax instead of skip by char class.
5189 5174
5190 * progmodes/cc-langs.el (c-unterminated-block-comment-regexp): 5175 * progmodes/cc-langs.el (c-unterminated-block-comment-regexp):
5191 Fixed a bug in the regexp that caused extreme backtracking. 5176 Fix a bug in the regexp that caused extreme backtracking.
5192 5177
5193 * progmodes/cc-langs.el (c-block-comment-starter) 5178 * progmodes/cc-langs.el (c-block-comment-starter)
5194 (c-block-comment-ender): New language constants to specify in a 5179 (c-block-comment-ender): New language constants to specify in a
5195 single place how block comments look. 5180 single place how block comments look.
5196 5181
5205 (c-block-comment-regexp, c-unterminated-block-comment-regexp): 5190 (c-block-comment-regexp, c-unterminated-block-comment-regexp):
5206 New language constants to break up things a bit. 5191 New language constants to break up things a bit.
5207 5192
5208 (c-simple-ws): New language constant for simple whitespace. 5193 (c-simple-ws): New language constant for simple whitespace.
5209 5194
5210 * progmodes/cc-defs.el (c-concat-separated): New convenience 5195 * progmodes/cc-defs.el (c-concat-separated): New convenience function.
5211 function. 5196
5212 5197 * progmodes/cc-defs.el (c-make-keywords-re): Add kludge for bug
5213 * progmodes/cc-defs.el (c-make-keywords-re): Added kludge for bug
5214 in `regexp-opt' in Emacs 20 and XEmacs when strings contain 5198 in `regexp-opt' in Emacs 20 and XEmacs when strings contain
5215 newlines. Allow and ignore nil elements in the list. 5199 newlines. Allow and ignore nil elements in the list.
5216 5200
5217 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 5201 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
5218 5202
5219 * progmodes/cc-cmds.el: Comment out a (n almost certainly 5203 * progmodes/cc-cmds.el: Comment out a (n almost certainly
5220 superfluous) check, (eq here (point-max)) in 5204 superfluous) check, (eq here (point-max)) in c-beginning-of-statement.
5221 c-beginning-of-statement.
5222 5205
5223 * progmodes/cc-cmds.el: Tidy up the comments in 5206 * progmodes/cc-cmds.el: Tidy up the comments in
5224 c-beginning-of-statement and subfunctions. 5207 c-beginning-of-statement and subfunctions.
5225 5208
5226 * progmodes/cc-awk.el: Replace calls to put-text-property to the 5209 * progmodes/cc-awk.el: Replace calls to put-text-property to the
5227 more flexible c-put-char-property and c-clear-char-properties. 5210 more flexible c-put-char-property and c-clear-char-properties.
5228 Add the author's email address. 5211 Add the author's email address.
5229 5212
5230 * progmodes/cc-langs.el: New variable, 5213 * progmodes/cc-langs.el (c-block-comment-start-regexp): New variable.
5231 c-block-comment-start-regexp.
5232 5214
5233 * progmodes/cc-cmds.el: Fix bug with M-e, when point is inside the 5215 * progmodes/cc-cmds.el: Fix bug with M-e, when point is inside the
5234 closing "*/" of a block comment. 5216 closing "*/" of a block comment.
5235 5217
5236 * progmodes/cc-cmds.el: Tidy c-beginning-of-sentence (and 5218 * progmodes/cc-cmds.el: Tidy c-beginning-of-sentence (and
5250 `c-type-modifier-kwds' is empty. 5232 `c-type-modifier-kwds' is empty.
5251 5233
5252 * progmodes/cc-fonts.el (c-font-lock-invalid-string): Fix when 5234 * progmodes/cc-fonts.el (c-font-lock-invalid-string): Fix when
5253 there are several strings on the same line. 5235 there are several strings on the same line.
5254 5236
5255 * progmodes/cc-engine.el (c-literal-limits): Removed the 5237 * progmodes/cc-engine.el (c-literal-limits): Remove the
5256 compatibility function for older emacsen. `c-literal-limits-fast' 5238 compatibility function for older emacsen. `c-literal-limits-fast'
5257 has now taken the place of this function. 5239 has now taken the place of this function.
5258 5240
5259 * progmodes/cc-vars.el (c-emacs-features): Removed compatibility 5241 * progmodes/cc-vars.el (c-emacs-features): Remove compatibility
5260 with older emacsen: We now require `pps-extended-state'. 5242 with older emacsen: We now require `pps-extended-state'.
5261 5243
5262 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 5244 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
5263 5245
5264 * progmodes/cc-cmds.el: New function c-beginning-of-sentence, 5246 * progmodes/cc-cmds.el: New function c-beginning-of-sentence,
5270 subfunctions)): Adapt c-\(back\|forward\)-over-illiterals such 5252 subfunctions)): Adapt c-\(back\|forward\)-over-illiterals such
5271 that movement over macros and code are rigorously separated from 5253 that movement over macros and code are rigorously separated from
5272 eachother. Correct a few incidental bugs. 5254 eachother. Correct a few incidental bugs.
5273 5255
5274 * progmodes/cc-cmds.el: Restructure c-beginning-of-statement: 5256 * progmodes/cc-cmds.el: Restructure c-beginning-of-statement:
5275 Improve its doc-string. Improve the handling of certain specific 5257 Improve its doc-string. Improve the handling of certain specific cases.
5276 cases.
5277 5258
5278 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 5259 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
5279 5260
5280 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el 5261 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el
5281 (c-guess-basic-syntax): Changed the way class-level labels are 5262 (c-guess-basic-syntax): Change the way class-level labels are
5282 recognized; they can now contain essentially any symbols. 5263 recognized; they can now contain essentially any symbols.
5283 5264
5284 (c-opt-extra-label-key): New language variable to cope with the 5265 (c-opt-extra-label-key): New language variable to cope with the
5285 special protection label syntax in Objective-C. 5266 special protection label syntax in Objective-C.
5286 5267
5287 (c-opt-access-key): Removed; this is now handled better by 5268 (c-opt-access-key): Remove; this is now handled better by
5288 `c-nonlabel-token-key' and `c-opt-extra-label-key'. 5269 `c-nonlabel-token-key' and `c-opt-extra-label-key'.
5289 5270
5290 (c-complex-decl-matchers): Update to handle that 5271 (c-complex-decl-matchers): Update to handle that
5291 `c-opt-access-key' no longer exists. 5272 `c-opt-access-key' no longer exists.
5292 5273
5295 5276
5296 * progmodes/cc-engine.el (c-beginning-of-member-init-list): 5277 * progmodes/cc-engine.el (c-beginning-of-member-init-list):
5297 Recognize bitfields better. 5278 Recognize bitfields better.
5298 5279
5299 * progmodes/cc-engine.el (c-beginning-of-inheritance-list): 5280 * progmodes/cc-engine.el (c-beginning-of-inheritance-list):
5300 Removed some cruft and fixed a bug that could cause it to go to a 5281 Remove some cruft and fixed a bug that could cause it to go to a
5301 position further down. 5282 position further down.
5302 5283
5303 * progmodes/cc-langs.el, cc-engine.el 5284 * progmodes/cc-langs.el, cc-engine.el
5304 (c-beginning-of-statement-1): Improved detection of labels in 5285 (c-beginning-of-statement-1): Improve detection of labels in
5305 declaration contexts. 5286 declaration contexts.
5306 5287
5307 (c-beginning-of-decl-1): Use it. 5288 (c-beginning-of-decl-1): Use it.
5308 5289
5309 (c-nonlabel-token-key): New language constant and variable needed 5290 (c-nonlabel-token-key): New language constant and variable needed
5310 by `c-beginning-of-statement-1'. 5291 by `c-beginning-of-statement-1'.
5311 5292
5312 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug that 5293 * progmodes/cc-engine.el (c-guess-basic-syntax): Fix bug that
5313 manifested itself due to the correction in `c-forward-sexp'. 5294 manifested itself due to the correction in `c-forward-sexp'.
5314 5295
5315 * progmodes/cc-defs.el (c-forward-sexp, c-backward-sexp): Made 5296 * progmodes/cc-defs.el (c-forward-sexp, c-backward-sexp):
5316 these behave as documented when used at the buffer limits. 5297 Make these behave as documented when used at the buffer limits.
5317 5298
5318 * progmodes/cc-mode.el, cc-engine.el, cc-langs.el 5299 * progmodes/cc-mode.el, cc-engine.el, cc-langs.el
5319 (c-type-decl-end-used): Made this a language variable. 5300 (c-type-decl-end-used): Made this a language variable.
5320 5301
5321 * progmodes/cc-mode.el (c-after-change): Widen the buffer to work 5302 * progmodes/cc-mode.el (c-after-change): Widen the buffer to work
5322 correctly when `combine-after-change-calls' is used together with 5303 correctly when `combine-after-change-calls' is used together with
5323 temporary narrowings. 5304 temporary narrowings.
5324 5305
5325 * progmodes/cc-engine.el (c-beginning-of-statement-1): Report 5306 * progmodes/cc-engine.el (c-beginning-of-statement-1):
5326 labels correctly when the start point is immediately after the 5307 Report labels correctly when the start point is immediately after the
5327 colon. 5308 colon.
5328 5309
5329 * progmodes/cc-defs.el (c-parse-sexp-lookup-properties): Removed 5310 * progmodes/cc-defs.el (c-parse-sexp-lookup-properties):
5330 since it isn't used anymore. 5311 Remove since it isn't used anymore.
5331 5312
5332 * progmodes/cc-cmds.el (c-electric-lt-gt): Detect and mark angle 5313 * progmodes/cc-cmds.el (c-electric-lt-gt): Detect and mark angle
5333 bracket arglists such as template parens in C++. 5314 bracket arglists such as template parens in C++.
5334 5315
5335 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fixed a bug 5316 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fix a bug
5336 in the last check-in. Some optimization. 5317 in the last check-in. Some optimization.
5337 5318
5338 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fixed bug 5319 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fix bug
5339 where it could stop at the same level in a preceding sexp when 5320 where it could stop at the same level in a preceding sexp when
5340 PAREN-LEVEL is set. 5321 PAREN-LEVEL is set.
5341 5322
5342 * progmodes/cc-mode.el (c-basic-common-init): Turn on syntax-table 5323 * progmodes/cc-mode.el (c-basic-common-init): Turn on syntax-table
5343 text property lookup only when it's needed. 5324 text property lookup only when it's needed.
5344 5325
5345 * progmodes/cc-langs.el, cc-engine.el, cc-fonts.el, cc-mode.el: 5326 * progmodes/cc-langs.el, cc-engine.el, cc-fonts.el, cc-mode.el:
5346 Changed the policy for paren marked angle brackets to be more 5327 Change the policy for paren marked angle brackets to be more
5347 persistent; once marked they remain marked even when they're found 5328 persistent; once marked they remain marked even when they're found
5348 to be unbalanced in the searched region. This should keep the 5329 to be unbalanced in the searched region. This should keep the
5349 paren syntax around even when individual lines are refontified in 5330 paren syntax around even when individual lines are refontified in
5350 multiline template arglists. 5331 multiline template arglists.
5351 5332
5355 `c-disallow-comma-in-<>-arglists' isn't known. 5336 `c-disallow-comma-in-<>-arglists' isn't known.
5356 5337
5357 (c-forward-<>-arglist, c-forward-<>-arglist-recur): The reparse 5338 (c-forward-<>-arglist, c-forward-<>-arglist-recur): The reparse
5358 argument has become `c-parse-and-markup-<>-arglists'. 5339 argument has become `c-parse-and-markup-<>-arglists'.
5359 5340
5360 (c-remove-<>-arglist-properties): Removed - no longer used. 5341 (c-remove-<>-arglist-properties): Remove - no longer used.
5361 5342
5362 (c-after-change-check-<>-operators): New function used on 5343 (c-after-change-check-<>-operators): New function used on
5363 `after-change-functions' to avoid that "<" and ">" characters that 5344 `after-change-functions' to avoid that "<" and ">" characters that
5364 are part of longer operators have paren syntax. 5345 are part of longer operators have paren syntax.
5365 5346
5367 `c-after-change-check-<>-operators'. 5348 `c-after-change-check-<>-operators'.
5368 5349
5369 (c-after-change): Call `c-after-change-check-<>-operators'. 5350 (c-after-change): Call `c-after-change-check-<>-operators'.
5370 5351
5371 (c-font-lock-<>-arglists): Use the context properties set by 5352 (c-font-lock-<>-arglists): Use the context properties set by
5372 `c-font-lock-declarations' to set 5353 `c-font-lock-declarations' to set `c-disallow-comma-in-<>-arglists'
5373 `c-disallow-comma-in-<>-arglists' correctly to avoid doing invalid 5354 correctly to avoid doing invalid markup.
5374 markup. 5355
5375 5356 (c-font-lock-declarations): Remove code that undoes the invalid
5376 (c-font-lock-declarations): Removed code that undoes the invalid
5377 markup done by `c-font-lock-<>-arglists'. 5357 markup done by `c-font-lock-<>-arglists'.
5378 5358
5379 (c-complex-decl-matchers): `c-font-lock-<>-arglists' now runs 5359 (c-complex-decl-matchers): `c-font-lock-<>-arglists' now runs
5380 after `c-font-lock-declarations'. 5360 after `c-font-lock-declarations'.
5381 5361
5382 * progmodes/cc-engine.el (c-syntactic-skip-backward): Added 5362 * progmodes/cc-engine.el (c-syntactic-skip-backward):
5383 paren-level feature. 5363 Add paren-level feature.
5384 5364
5385 (c-guess-basic-syntax): Improved the anchor position for 5365 (c-guess-basic-syntax): Improve the anchor position for
5386 `template-args-cont' in nested template arglists. There's still 5366 `template-args-cont' in nested template arglists. There's still
5387 much to be desired in this area, though. 5367 much to be desired in this area, though.
5388 5368
5389 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 5369 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
5390 5370
5391 * progmodes/cc-cmds.el, cc-engine.el, cc-langs.el, cc-vars.el: 5371 * progmodes/cc-cmds.el, cc-engine.el, cc-langs.el, cc-vars.el:
5392 Make the "Text Filling and Line Breaking" commands work for AWK 5372 Make the "Text Filling and Line Breaking" commands work for AWK buffers.
5393 buffers.
5394 5373
5395 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 5374 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
5396 5375
5397 * progmodes/cc-defs.el, cc-engine.el (c-mode-is-new-awk-p): 5376 * progmodes/cc-defs.el, cc-engine.el (c-mode-is-new-awk-p):
5398 Removed; (c-major-mode-is 'awk-mode) can be used instead now. 5377 Removed; (c-major-mode-is 'awk-mode) can be used instead now.
5427 * progmodes/cc-fonts.el (c-font-lock-declarations): Recognize a 5406 * progmodes/cc-fonts.el (c-font-lock-declarations): Recognize a
5428 construct like "a * b = c;" as a declaration. 5407 construct like "a * b = c;" as a declaration.
5429 5408
5430 2005-12-08 Kim F. Storm <storm@cua.dk> 5409 2005-12-08 Kim F. Storm <storm@cua.dk>
5431 5410
5432 * emulation/cua-base.el (cua-use-hyper-key): Replaced by ... 5411 * emulation/cua-base.el (cua-use-hyper-key): Replace by ...
5433 (cua-rectangle-modifier-key): ... this. New defcustom. Can now 5412 (cua-rectangle-modifier-key): ... this. New defcustom. Can now
5434 select either meta, hyper, or super modifier for rectangle commands. 5413 select either meta, hyper, or super modifier for rectangle commands.
5435 (cua--rectangle-modifier-key): New defvar. 5414 (cua--rectangle-modifier-key): New defvar.
5436 (cua--M/H-key): Use it. Remove special case for `space'. 5415 (cua--M/H-key): Use it. Remove special case for `space'.
5437 (cua--init-keymaps): Initialize it from cua-rectangle-modifier-key 5416 (cua--init-keymaps): Initialize it from cua-rectangle-modifier-key
5438 on X, to meta otherwise. Always bind C-return to toggle 5417 on X, to meta otherwise. Always bind C-return to toggle
5439 rectangle. Pass ?\s instead of `space' to cua--M/H-key. 5418 rectangle. Pass ?\s instead of `space' to cua--M/H-key.
5440 5419
5441 * emulation/cua-rect.el (cua-help-for-rectangle): Use 5420 * emulation/cua-rect.el (cua-help-for-rectangle):
5442 cua--rectangle-modifier-key. Handle super modifier too. 5421 Use cua--rectangle-modifier-key. Handle super modifier too.
5443 (cua--init-rectangles): Always bind C-return to toggle rectangle. 5422 (cua--init-rectangles): Always bind C-return to toggle rectangle.
5444 Pass ?\s instead of `space' to cua--M/H-key and cua--rect-M/H-key. 5423 Pass ?\s instead of `space' to cua--M/H-key and cua--rect-M/H-key.
5445 5424
5446 * ido.el: Move Acknowledgements and History after Commentary. 5425 * ido.el: Move Acknowledgements and History after Commentary.
5447 Minor changes to Commentary. 5426 Minor changes to Commentary.
5448 5427
5449 * emulation/cua-base.el (cua--select-keymaps): Enable repeat 5428 * emulation/cua-base.el (cua--select-keymaps): Enable repeat
5450 keymap if cua--prefix-override-timer is `shift'. 5429 keymap if cua--prefix-override-timer is `shift'.
5451 (cua--shift-control-prefix): New function; emulate "type prefix 5430 (cua--shift-control-prefix): New function; emulate "type prefix
5452 key twice" functionality to handle shifted prefix key override. 5431 key twice" functionality to handle shifted prefix key override.
5453 (cua--shift-control-c-prefix, cua--shift-control-x-prefix): New 5432 (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
5454 commands. 5433 New commands.
5455 (cua--init-keymaps): Bind them to S-C-c and S-C-x. 5434 (cua--init-keymaps): Bind them to S-C-c and S-C-x.
5456 5435
5457 2005-12-08 Carsten Dominik <dominik@science.uva.nl> 5436 2005-12-08 Carsten Dominik <dominik@science.uva.nl>
5458 5437
5459 * textmodes/org.el (org-insert-heading): Try to do items before 5438 * textmodes/org.el (org-insert-heading): Try to do items before