aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/ChangeLog')
-rw-r--r--lisp/ChangeLog709
1 files changed, 459 insertions, 250 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f58a240c3ec..acfc4975c54 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,239 @@
12006-03-21 Chong Yidong <cyd@stupidchicken.com>
2
3 * cus-edit.el (custom-face-set): Call custom-push-theme before
4 face-spec set so that `changed' theme is correctly saved.
5 (custom-face-reset-standard): Reset to recalculated face rather
6 than defface spec.
7
8 * custom.el (custom-push-theme): Only save `changed' theme if the
9 current face does not match the defface specs.
10
112006-03-21 Simon Josefsson <jas@extundo.com>
12
13 * pgg-gpg.el: Ideas below based on patch from Sascha Wilde
14 <wilde@sha-bang.de>.
15 (pgg-gpg-use-agent): New variable.
16 (pgg-gpg-process-region): Use it.
17 (pgg-gpg-encrypt-region): Likewise.
18 (pgg-gpg-encrypt-symmetric-region): Likewise.
19 (pgg-gpg-decrypt-region): Likewise.
20 (pgg-gpg-sign-region): Likewise.
21 (pgg-gpg-possibly-cache-passphrase): Don't cache a nil password.
22
232006-03-21 Carsten Dominik <dominik@science.uva.nl>
24
25 * textmodes/org.el: (org-open-at-point): Fixed bug in wiki-style
26 bracket links.
27
282006-03-21 Kim F. Storm <storm@cua.dk>
29
30 * progmodes/gdb-ui.el (gdb-reset): Set buffer local value of
31 fringe-indicator-alist instead of modifying global value.
32 (gdb-frame-handler): Likewise.
33
342006-03-21 Nick Roberts <nickrob@snap.net.nz>
35
36 * diff-mode.el (diff-function): Make it inherit from diff-header
37 instead of diff-context.
38
39 * progmodes/gdb-ui.el (hollow-right-triangle): Define as fringe
40 bitmap.
41 (gdb-info-stack-custom): Rename from gdb-info-frames-custom and
42 change names in macro above for consistency.
43 (gdb-frame-handler): Use hollow-right-triangle for all selected
44 frames which except the innermost (where execution has stopped).
45 (gdb-reset): Reset buffer-local values of overlay-arrow.
46
472006-03-20 Richard Stallman <rms@gnu.org>
48
49 * simple.el (set-mark-command): Doc fix.
50
51 * files.el (display-buffer-other-frame): New command.
52 (ctl-x-4-map): Bind C-x 5 C-o to it.
53
542006-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
55
56 * jit-lock.el (jit-lock-function): Check for the actual defer-timer
57 rather than just defer-time, in case defer-time has been changed but
58 the timer isn't running yet.
59 (jit-lock-deferred-fontify): Correspondingly let-bind defer-timer.
60
612006-03-19 Luc Teirlinck <teirllm@auburn.edu>
62
63 * help-mode.el (help-follow-symbol): New function.
64 Essentially identical to the old `help-follow', but do not let
65 `push-button' do the work when on an xref.
66 (help-mode-map): Bind `help-follow-symbol' to "C-c C-c".
67
682006-03-19 Richard Stallman <rms@gnu.org>
69
70 * help-mode.el (help-xref-symbol-regexp): Make no xref for symbol
71 preceded by the word `program'.
72 (help-follow-mouse, help-follow): Throw error if not on xref.
73 Delete no longer used args.
74
752006-03-20 Nick Roberts <nickrob@snap.net.nz>
76
77 * progmodes/gdb-ui.el (gdb-stopped): Even when there is no source
78 annotation ensure gud-overlay-arrow-position is redisplayed.
79
802006-03-19 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
81
82 * textmodes/bibtex.el (bibtex-include-OPTkey)
83 (bibtex-entry-field-alist, bibtex-generate-url-list): Mark as risky.
84 (bibtex-autokey-name-case-convert)
85 (bibtex-autokey-titleword-case-convert): Make these the aliases
86 for the following two variables.
87 (bibtex-autokey-name-case-convert-function)
88 (bibtex-autokey-titleword-case-convert-function): Make these the
89 real names.
90 (bibtex-font-lock-keywords): Make bibtex-font-lock-url and
91 bibtex-font-lock-crossref sublists.
92 (bibtex-mode): Revert 2005-12-30 change (which made
93 completion-ignore-case buffer-local).
94 (bibtex-url): Simplify.
95
962006-03-19 Kim F. Storm <storm@cua.dk>
97
98 * emulation/cua-rect.el (cua--highlight-rectangle): Set overlay
99 cursor property value to 2 (to align with C level change).
100
1012006-03-19 Bill Wohler <wohler@newt.com>
102
103 * image.el (image-load-path-for-library): Shorten first line in
104 docstring.
105
1062006-03-18 Richard Stallman <rms@gnu.org>
107
108 * mail/rmail.el (rmail-reply-regexp): Undo previous change.
109
1102006-03-18 Ben North <ben@redfrontdoor.org> (tiny change)
111
112 * isearch.el (isearch-other-meta-char): Handle user bindings for
113 shifted control characters.
114
1152006-03-18 Agustin Martin <agustin.martin@hispalinux.es>
116
117 * textmodes/ispell.el (ispell-skip-region-alist): Add "_+" to the
118 part that matches email addresses, file names, etc.
119
1202006-03-18 Eli Zaretskii <eliz@gnu.org>
121
122 * term/w32-win.el (mouse-set-font):
123 Mention w32-list-proportional-fonts in the doc string.
124
1252006-03-18 Kim F. Storm <storm@cua.dk>
126
127 * ido.el (ido-cache-ftp-work-directory-time): Doc fix.
128 (ido-unc-hosts): New user option to explicitly define list of know
129 UNC-style hosts for completion.
130 (ido-cache-unc-host-shares-time): New user option.
131 (ido-is-unc-root, ido-is-unc-host, ido-cache-unc-valid):
132 New helper functions for UNC file-name support.
133 (ido-may-cache-directory): Check for UNC host. Simplify.
134 (ido-wash-history): Clean out old UNC hosts.
135 (ido-nonreadable-directory-p): UNC hosts are always readable.
136 (ido-directory-too-big-p): UNC hosts are never too big.
137 (ido-set-current-directory): Handle UNC root path.
138 (ido-file-name-all-completions): Complete UNC host names from
139 ido-unc-hosts list. Cache UNC host shares.
140 (ido-make-file-list-1): Don't filter UNC root.
141 (ido-exhibit): Check for // in root directory, and switch to UNC
142 mode by setting ido-current-directory to //.
143
1442006-03-17 Luc Teirlinck <teirllm@auburn.edu>
145
146 * cus-edit.el (customize-changed-options): Mention explicit
147 version number as default in prompt.
148
1492006-03-17 Bill Wohler <wohler@newt.com>
150
151 * image.el (image-load-path-for-library): Minor docstring fix.
152
1532006-03-17 Carsten Dominik <dominik@science.uva.nl>
154
155 * textmodes/org.el (org-read-date): Include subgroup 5 into
156 replacement text.
157 (org-popup-calendar-for-date-prompt): Fix customization type.
158
1592006-03-17 Nick Roberts <nickrob@snap.net.nz>
160
161 * progmodes/gdb-ui.el (gud-watch): Provide completion.
162 (gdb-continuation): New variable.
163 (gdb-send): Deal with continuation lines.
164
165 * progmodes/gud.el (gud-gdb-complete-command)
166 (gud-gdb-run-command-fetch-lines): Adapt for use with watch
167 expressions.
168 (gud-tooltip-mode): Use buffer-local value.
169
1702006-03-16 Kim F. Storm <storm@cua.dk>
171
172 * ido.el (ido-edit-input): Use selected match, if any.
173
1742006-03-16 Bill Wohler <wohler@newt.com>
175
176 * image.el (image-load-path-for-library): Prefer user's images in
177 image-load-path.
178
1792006-03-16 Martin Rudalics <rudalics@gmx.at>
180
181 * mouse.el (mouse-drag-vertical-line): Use window-inside-edges
182 when checking for attempt to drag leftmost or rightmost scrollbar.
183
1842006-03-16 Nick Roberts <nickrob@snap.net.nz>
185
186 * progmodes/gdb-ui.el (gdb-inferior-status): New variable.
187 (gdb-force-mode-line-update): New function.
188 (gdb-resync, gdb-starting, gdb-signal, gdb-exited, gdb-stopped)
189 (gdb-exited): Use them.
190 (gdb-signal): New fuction.
191 (gdb-annotation-rules): Provide a rule for it.
192
1932006-03-16 Kenichi Handa <handa@m17n.org>
194
195 * international/mule.el (auto-coding-regexp-alist): Add entries
196 for Unicode BOM.
197
198 * sort.el (sort-build-lists): Temporarily bind
199 inhibit-field-text-motion to t.
200
2012006-03-15 Luc Teirlinck <teirllm@auburn.edu>
202
203 * locate.el (locate-command, locate-make-command-line)
204 (locate-fcodes-file, locate-update-command)
205 (locate-prompt-for-command, locate, locate-with-filter)
206 (locate-get-file-positions): Doc fixes.
207 (locate-buffer-name, locate-header-face): Remove leading `*' in
208 defcustom.
209 (locate-filter-output): Use `keep-lines' instead of its alias
210 `delete-non-matching-lines'.
211 (locate-get-filename, locate-get-dirname): Add introductory comment.
212 (locate-find-directory-other-window): Give appropriate error
213 message if used outside main listing.
214
2152006-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
216
217 * font-lock.el (font-lock-lines-before): Delete variable, subsumed by
218 the new extend-region feature.
219 (font-lock-after-change-function): Update correspondingly.
220 * jit-lock.el (jit-lock-after-change): Update correspondingly.
221 * progmodes/grep.el (font-lock-lines-before): Don't disable.
222
2232006-03-15 Bill Wohler <wohler@newt.com>
224
225 * image.el (image-load-path-for-library): Fix example by not
226 recommending that one binds image-load-path. Just defvar it to
227 placate compiler and only use it if previously defined.
228
2292006-03-15 Carsten Dominik <dominik@science.uva.nl>
230
231 * textmodes/org.el (org-insert-centered): Use `string-width' to
232 make underlining work for wide characters.
233 (org-goto-map, org-agenda-mode-map, org-mode-map): Explicitly bind
234 TAB to `org-cycle', to make sure that no binding in
235 `outline-mode-map' can supercede it.
236
12006-03-14 Ken Manheimer <ken.manheimer@gmail.com> 2372006-03-14 Ken Manheimer <ken.manheimer@gmail.com>
2 238
3 * allout.el: Increment version to 2.2.1 in file commentary. 239 * allout.el: Increment version to 2.2.1 in file commentary.
@@ -28,8 +264,8 @@
28 264
29 * progmodes/gdb-ui.el (gdb-var-list): Change order of first two 265 * progmodes/gdb-ui.el (gdb-var-list): Change order of first two
30 elements. 266 elements.
31 (gdb-find-watch-expression): Make it work for arrays too. Follow 267 (gdb-find-watch-expression): Make it work for arrays too.
32 change to gdb-var-list. 268 Follow change to gdb-var-list.
33 (gud-watch): Allow the user to enter variable name with a prexix 269 (gud-watch): Allow the user to enter variable name with a prexix
34 arg. Create keybindings. 270 arg. Create keybindings.
35 (gdb-var-create-handler, gdb-var-evaluate-expression-handler) 271 (gdb-var-create-handler, gdb-var-evaluate-expression-handler)
@@ -37,8 +273,7 @@
37 (gdb-var-delete, gdb-edit-value, gdb-speedbar-expand-node) 273 (gdb-var-delete, gdb-edit-value, gdb-speedbar-expand-node)
38 (gdb-var-list-children-handler-1, gdb-var-update-handler-1): 274 (gdb-var-list-children-handler-1, gdb-var-update-handler-1):
39 Follow change to gdb-var-list. 275 Follow change to gdb-var-list.
40 (gdb-starting): Don't show the overlay arrows when program is 276 (gdb-starting): Don't show the overlay arrows when program is running.
41 running.
42 277
43 * progmodes/gud.el (gud-speedbar-buttons): Follow change to 278 * progmodes/gud.el (gud-speedbar-buttons): Follow change to
44 gdb-var-list. 279 gdb-var-list.
@@ -46,27 +281,32 @@
462006-03-14 Bill Wohler <wohler@newt.com> 2812006-03-14 Bill Wohler <wohler@newt.com>
47 282
48 * image.el (image-load-path-for-library): Pass value of path 283 * image.el (image-load-path-for-library): Pass value of path
49 rather than symbol. Always return list of directories. Guarantee 284 rather than symbol. Always return list of directories.
50 that image directory comes first. 285 Guarantee that image directory comes first.
51 286
522006-03-14 Alan Mackenzie <acm@muc.de> 2872006-03-14 Alan Mackenzie <acm@muc.de>
53 288
54 * font-core.el: New function/variable 289 * font-core.el (font-lock-extend-region\(-function\)?.):
55 font-lock-extend-region\(-function\)?. 290 New function/variable.
56 291
57 * font-lock.el (font-lock-after-change-function): Call 292 * font-lock.el (font-lock-after-change-function):
58 font-lock-extend-region. Obey font-lock-lines-before. 293 Call font-lock-extend-region. Obey font-lock-lines-before.
59 (font-lock-default-fontify-region): Remove reference to 294 (font-lock-default-fontify-region): Remove reference to
60 font-lock-lines-before. 295 font-lock-lines-before.
61 296
62 * jit-lock.el (jit-lock-after-change): Call 297 * jit-lock.el (jit-lock-after-change):
63 font-lock-extend-region. Obey font-lock-lines-before. 298 Call font-lock-extend-region. Obey font-lock-lines-before.
64 299
652006-03-14 David Ponce <david@dponce.com> 3002006-03-14 David Ponce <david@dponce.com>
66 301
67 * tree-widget.el (tree-widget-themes-load-path) 302 * tree-widget.el (tree-widget-themes-load-path)
68 (tree-widget-themes-directory, tree-widget-theme): Doc fix. 303 (tree-widget-themes-directory, tree-widget-theme): Doc fix.
69 304
3052006-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
306
307 * pcvs-util.el (cvs-insert-strings): Fix bug with strings longer than
308 wwidth.
309
702006-03-13 Ryan Yeske <rcyeske@gmail.com> 3102006-03-13 Ryan Yeske <rcyeske@gmail.com>
71 311
72 * net/rcirc.el (rcirc) <defgroup>: Add link to manual. 312 * net/rcirc.el (rcirc) <defgroup>: Add link to manual.
@@ -87,18 +327,18 @@
87 themes sub-directory found in tree-widget-themes-load-path. 327 themes sub-directory found in tree-widget-themes-load-path.
88 (tree-widget-themes-directory, tree-widget-theme): Doc fix. 328 (tree-widget-themes-directory, tree-widget-theme): Doc fix.
89 (tree-widget--locate-sub-directory): Return all occurrences. 329 (tree-widget--locate-sub-directory): Return all occurrences.
90 (tree-widget-themes-path): New function. Replace 330 (tree-widget-themes-path): New function.
91 tree-widget-themes-directory, and return a list of directories. 331 Replace tree-widget-themes-directory, and return a list of directories.
92 (tree-widget-set-parent-theme) 332 (tree-widget-set-parent-theme)
93 (tree-widget-lookup-image): Use it. 333 (tree-widget-lookup-image): Use it.
94 334
952006-03-13 Carsten Dominik <dominik@science.uva.nl> 3352006-03-13 Carsten Dominik <dominik@science.uva.nl>
96 336
97 * textmodes/org.el: (org-link-search): Avoid self-matching of 337 * textmodes/org.el (org-link-search): Avoid self-matching of
98 links, allow target text to be distributed over several lines. 338 links, allow target text to be distributed over several lines.
99 (org-search-not-link): New function. 339 (org-search-not-link): New function.
100 (org-set-regexps-and-options, org-get-current-options): New 340 (org-set-regexps-and-options, org-get-current-options):
101 startup options. 341 New startup options.
102 (org-export-as-html): Take odd-level setting from local variable. 342 (org-export-as-html): Take odd-level setting from local variable.
103 (org-fontify-emphasized-text): New option. 343 (org-fontify-emphasized-text): New option.
104 (org-set-font-lock-defaults): Include emphasized text. 344 (org-set-font-lock-defaults): Include emphasized text.
@@ -169,8 +409,8 @@
169 409
1702006-03-11 Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> 4102006-03-11 Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
171 411
172 * progmodes/octave-mod.el (octave-indent-for-comment): Behave 412 * progmodes/octave-mod.el (octave-indent-for-comment):
173 according to do string. 413 Behave according to do string.
174 414
1752006-03-11 Agustin Martin <agustin.martin@hispalinux.es> 4152006-03-11 Agustin Martin <agustin.martin@hispalinux.es>
176 416
@@ -208,7 +448,7 @@
208 * progmodes/gdb-ui.el (gdb-remove-text-properties): Rename from 448 * progmodes/gdb-ui.el (gdb-remove-text-properties): Rename from
209 gdb-remove-mouse-face and remove help-echo too. 449 gdb-remove-mouse-face and remove help-echo too.
210 (gdb-enqueue-input): Correct conditional clause. 450 (gdb-enqueue-input): Correct conditional clause.
211 451
2122006-03-10 Glenn Morris <rgm@gnu.org> 4522006-03-10 Glenn Morris <rgm@gnu.org>
213 453
214 * calendar/calendar.el (calendar-holidays): Doc fix. 454 * calendar/calendar.el (calendar-holidays): Doc fix.
@@ -233,8 +473,8 @@
233 473
2342006-03-07 Chong Yidong <cyd@stupidchicken.com> 4742006-03-07 Chong Yidong <cyd@stupidchicken.com>
235 475
236 * files.el (hack-local-variables-confirm): Set 476 * files.el (hack-local-variables-confirm):
237 coding-system-for-read to nil before writing to .emacs. 477 Set coding-system-for-read to nil before writing to .emacs.
238 478
239 * arc-mode.el (archive-extract): Check if an existing buffer name 479 * arc-mode.el (archive-extract): Check if an existing buffer name
240 comes from a different archive. 480 comes from a different archive.
@@ -256,8 +496,8 @@
256 496
2572006-03-07 Carsten Dominik <dominik@science.uva.nl> 4972006-03-07 Carsten Dominik <dominik@science.uva.nl>
258 498
259 * textmodes/org.el: Move defvars out of eval-when-compile. Use 499 * textmodes/org.el: Move defvars out of eval-when-compile.
260 buffer-file-name variable. 500 Use buffer-file-name variable.
261 (org-agenda-file-to-end, org-agenda-file-to-front): Remove unused 501 (org-agenda-file-to-end, org-agenda-file-to-front): Remove unused
262 arg `file'. 502 arg `file'.
263 (org-level-faces): Remove startup dependency. 503 (org-level-faces): Remove startup dependency.
@@ -272,8 +512,7 @@
272 (org-tag): New face. 512 (org-tag): New face.
273 (org-get-level-face): New function. 513 (org-get-level-face): New function.
274 (org-set-font-lock-defaults): Simplify setup for headlines. 514 (org-set-font-lock-defaults): Simplify setup for headlines.
275 (org-complete): Pass common substring to 515 (org-complete): Pass common substring to `display-completion-list'.
276 `display-completion-list'.
277 516
2782006-03-06 David Ponce <david@dponce.com> 5172006-03-06 David Ponce <david@dponce.com>
279 518
@@ -445,9 +684,8 @@
445 684
446 * t-mouse.el: New file. 685 * t-mouse.el: New file.
447 (t-mouse-tty): Use with-temp-buffer. Add more terminal types. 686 (t-mouse-tty): Use with-temp-buffer. Add more terminal types.
448 (t-mouse-lispy-buffer-posn-from-coords): Remove. Use the C 687 (t-mouse-lispy-buffer-posn-from-coords): Remove.
449 primitive... 688 (t-mouse-make-event-element): Use posn-at-x-y instead.
450 (t-mouse-make-event-element): ...posn-at-x-y instead.
451 (t-mouse-make-event): Deal with Fedora Core 3. 689 (t-mouse-make-event): Deal with Fedora Core 3.
452 (t-mouse-make-event): Don't sink the `stupid text mode menubar'. 690 (t-mouse-make-event): Don't sink the `stupid text mode menubar'.
453 (t-mouse-mouse-position-function): New function. Use it instead 691 (t-mouse-mouse-position-function): New function. Use it instead
@@ -480,8 +718,7 @@
480 * textmodes/reftex-index.el (reftex-index-map): Add `follow-mouse' 718 * textmodes/reftex-index.el (reftex-index-map): Add `follow-mouse'
481 binding. 719 binding.
482 720
483 * textmodes/reftex-toc.el (reftex-toc-map): Add `follow-mouse' 721 * textmodes/reftex-toc.el (reftex-toc-map): Add `follow-mouse' binding.
484 binding.
485 722
486 * textmodes/reftex-sel.el (reftex-select-label-map) 723 * textmodes/reftex-sel.el (reftex-select-label-map)
487 (reftex-select-bib-map): Add `follow-mouse' binding. 724 (reftex-select-bib-map): Add `follow-mouse' binding.
@@ -4059,20 +4296,20 @@
4059 CC Mode update to 5.31. 4296 CC Mode update to 5.31.
4060 4297
4061 * progmodes/cc-subword.el: Add a dummy `c-subword-mode' for 4298 * progmodes/cc-subword.el: Add a dummy `c-subword-mode' for
4062 Emacsen which lack `define-minor-mode'. (Currently Emacs <21. We 4299 Emacsen which lack `define-minor-mode'. (Currently Emacs <21.
4063 might do this function properly in the future). 4300 We might do this function properly in the future).
4064 4301
4065 * progmodes/cc-cmds.el, cc-defs.el, cc-styles.el, cc-vars.el: New 4302 * progmodes/cc-cmds.el, cc-defs.el, cc-styles.el, cc-vars.el:
4066 macros c-sentence-end and c-default-value-sentence end, to cope 4303 New macros c-sentence-end and c-default-value-sentence end, to cope
4067 with Emacs 22's new function `sentence-end'. 4304 with Emacs 22's new function `sentence-end'.
4068 4305
40692005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 43062005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4070 4307
4071 * progmodes/cc-cmds.el (c-show-syntactic-information): Solved the 4308 * progmodes/cc-cmds.el (c-show-syntactic-information): Solve the
4072 compat issue using `c-put-overlay' and `c-delete-overlay'. 4309 compat issue using `c-put-overlay' and `c-delete-overlay'.
4073 4310
4074 * progmodes/cc-defs.el (c-put-overlay, c-delete-overlay): New 4311 * progmodes/cc-defs.el (c-put-overlay, c-delete-overlay):
4075 compat macros to handle overlays/extents. 4312 New compat macros to handle overlays/extents.
4076 4313
40772005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 43142005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4078 4315
@@ -4093,20 +4330,19 @@
4093 4330
40942005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 43312005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4095 4332
4096 * progmodes/cc-fonts.el (c-make-syntactic-matcher): New internal 4333 * progmodes/cc-fonts.el (c-make-syntactic-matcher):
4097 helper. 4334 New internal helper.
4098 4335
4099 (c-cpp-matchers, c-basic-matchers-before): Use the `eval' 4336 (c-cpp-matchers, c-basic-matchers-before): Use the `eval'
4100 construct to make the indirect face lookup work in XEmacs. 4337 construct to make the indirect face lookup work in XEmacs.
4101 4338
4102 (c-cpp-matchers): Append the negation char face to the existing 4339 (c-cpp-matchers): Append the negation char face to the existing
4103 fontification, so that the cpp face doesn't disappear. Use 4340 fontification, so that the cpp face doesn't disappear.
4104 `c-make-syntactic-matcher' to avoid negation chars in comments and 4341 Use `c-make-syntactic-matcher' to avoid negation chars in comments
4105 strings. 4342 and strings.
4106 4343
4107 * progmodes/cc-fonts.el (c-negation-char-face-name): New variable 4344 * progmodes/cc-fonts.el (c-negation-char-face-name): New variable
4108 to map to `font-lock-negation-char-face' in emacsen where it 4345 to map to `font-lock-negation-char-face' in emacsen where it exists.
4109 exists.
4110 4346
41112005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 43472005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4112 4348
@@ -4129,18 +4365,17 @@
4129 (i) Insert a binding for C-c C-backspace into 4365 (i) Insert a binding for C-c C-backspace into
4130 c-bind-special-erase-keys which works in TTYs. 4366 c-bind-special-erase-keys which works in TTYs.
4131 (ii) Make sure that when file styles are used, any explicitly 4367 (ii) Make sure that when file styles are used, any explicitly
4132 given style variables take priority over those in the style. Do 4368 given style variables take priority over those in the style.
4133 this by calling `hack-local-variables' a second time. 4369 Do this by calling `hack-local-variables' a second time.
4134 4370
4135 * progmodes/cc-vars.el: Add language specific customization 4371 * progmodes/cc-vars.el: Add language specific customization
4136 widgets for AWK to c-doc-comment-style, c-require-final-newline 4372 widgets for AWK to c-doc-comment-style, c-require-final-newline
4137 and c-default-style. Add a defcustom for awk-mode-hook. Give 4373 and c-default-style. Add a defcustom for awk-mode-hook.
4138 c-syntactic-element and c-syntactic-context doc-strings by 4374 Give c-syntactic-element and c-syntactic-context doc-strings by
4139 directly setting their `variable-documentation' propery. This 4375 directly setting their `variable-documentation' propery.
4140 allows Emacs 22.1 to read these with C-h v. 4376 This allows Emacs 22.1 to read these with C-h v.
4141 4377
4142 * progmodes/cc-awk.el: Apply a tidy-up patch (from Stefan 4378 * progmodes/cc-awk.el: Apply a tidy-up patch (from Stefan Monnier).
4143 Monnier).
4144 4379
41452005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 43802005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4146 4381
@@ -4166,8 +4401,8 @@
4166 * progmodes/cc-mode.el: Give c-hungry-backspace and 4401 * progmodes/cc-mode.el: Give c-hungry-backspace and
4167 c-hungry-delete-forward permanent key bindings. 4402 c-hungry-delete-forward permanent key bindings.
4168 4403
4169 * progmodes/cc-cmds.el (c-electric-semi&comma): Bind 4404 * progmodes/cc-cmds.el (c-electric-semi&comma):
4170 c-syntactic-context for calls to "criteria functions", for 4405 Bind c-syntactic-context for calls to "criteria functions", for
4171 consistency with other calls to user functions. 4406 consistency with other calls to user functions.
4172 4407
4173 * progmodes/cc-cmds.el (c-indent-command): Expunge use of 4408 * progmodes/cc-cmds.el (c-indent-command): Expunge use of
@@ -4181,7 +4416,7 @@
4181 4416
41822005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 44172005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4183 4418
4184 * progmodes/cc-engine.el (c-on-identifier): Fixed bug when at the 4419 * progmodes/cc-engine.el (c-on-identifier): Fix bug when at the
4185 first char of an identifier. 4420 first char of an identifier.
4186 4421
4187 * progmodes/cc-engine.el (c-on-identifier): Handle the "operator 4422 * progmodes/cc-engine.el (c-on-identifier): Handle the "operator
@@ -4206,14 +4441,14 @@
42062005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 44412005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4207 4442
4208 * progmodes/cc-fonts.el (c-cpp-matchers, c-basic-matchers-before): 4443 * progmodes/cc-fonts.el (c-cpp-matchers, c-basic-matchers-before):
4209 Incorporated the patterns added in the Emacs development branch 4444 Incorporate the patterns added in the Emacs development branch
4210 for the new Emacs 22 face `font-lock-negation-char-face'. 4445 for the new Emacs 22 face `font-lock-negation-char-face'.
4211 4446
4212 * progmodes/cc-fonts.el (c-invalid-face-name): Use "red1" instead 4447 * progmodes/cc-fonts.el (c-invalid-face-name): Use "red1" instead
4213 of "red" since it stands out better in xterms and DOS terminals. 4448 of "red" since it stands out better in xterms and DOS terminals.
4214 4449
4215 * progmodes/cc-engine.el (c-literal-faces): Added 4450 * progmodes/cc-engine.el (c-literal-faces):
4216 `font-lock-comment-delimiter-face' which is new in Emacs 22. 4451 Add `font-lock-comment-delimiter-face' which is new in Emacs 22.
4217 4452
42182005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 44532005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4219 4454
@@ -4221,14 +4456,13 @@
4221 forcibly enable c-electric-flag. 4456 forcibly enable c-electric-flag.
4222 4457
4223 * progmodes/cc-vars.el, cc-cmds.el: New clean-up 4458 * progmodes/cc-vars.el, cc-cmds.el: New clean-up
4224 `comment-close-slash' on c-electric-slash: if enabled, typing `/' 4459 `comment-close-slash' on c-electric-slash: if enabled, typing `/' just
4225 just after the comment-prefix of a C-style comment will close that 4460 after the comment-prefix of a C-style comment will close that comment.
4226 comment.
4227 4461
42282005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 44622005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4229 4463
4230 * progmodes/cc-fonts.el (c-basic-matchers-before) 4464 * progmodes/cc-fonts.el (c-basic-matchers-before)
4231 (c-complex-decl-matchers): Fixed the "not-arrow-prefix" regexp used 4465 (c-complex-decl-matchers): Fix the "not-arrow-prefix" regexp used
4232 in Pike. 4466 in Pike.
4233 4467
4234 * progmodes/cc-langs.el (c-other-op-syntax-tokens): Only C++ has 4468 * progmodes/cc-langs.el (c-other-op-syntax-tokens): Only C++ has
@@ -4237,10 +4471,10 @@
4237 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el 4471 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el
4238 (c-cpp-message-directives, c-cpp-include-directives) 4472 (c-cpp-message-directives, c-cpp-include-directives)
4239 (c-opt-cpp-macro-define, c-opt-cpp-macro-define-start) 4473 (c-opt-cpp-macro-define, c-opt-cpp-macro-define-start)
4240 (c-cpp-expr-directives): Introduced new language constants to 4474 (c-cpp-expr-directives): Introduce new language constants to
4241 control cpp syntax in a cleaner way. 4475 control cpp syntax in a cleaner way.
4242 4476
4243 (c-cpp-expr-functions): Renamed from c-cpp-defined-fns. 4477 (c-cpp-expr-functions): Rename from c-cpp-defined-fns.
4244 4478
4245 (c-cpp-matchers, c-forward-to-cpp-define-body): Use them. 4479 (c-cpp-matchers, c-forward-to-cpp-define-body): Use them.
4246 4480
@@ -4272,22 +4506,21 @@
4272 (c-guess-basic-syntax): Handle C++ operator identifiers in 4506 (c-guess-basic-syntax): Handle C++ operator identifiers in
4273 declarations. 4507 declarations.
4274 4508
4275 * progmodes/cc-langs.el (c-assignment-operators): Added the 4509 * progmodes/cc-langs.el (c-assignment-operators): Add the
4276 trigraph version of ^= too. 4510 trigraph version of ^= too.
4277 4511
4278 * progmodes/cc-langs.el (c-assignment-operators): Added the 4512 * progmodes/cc-langs.el (c-assignment-operators): Add the
4279 trigraph version of |= in C++. 4513 trigraph version of |= in C++.
4280 4514
4281 * progmodes/cc-fonts.el (c-font-lock-declarators): Handle 4515 * progmodes/cc-fonts.el (c-font-lock-declarators):
4282 `c-decl-hangon-kwds' after the identifier name. 4516 Handle `c-decl-hangon-kwds' after the identifier name.
4283 4517
4284 * progmodes/cc-engine.el (c-guess-basic-syntax): When deciding 4518 * progmodes/cc-engine.el (c-guess-basic-syntax): When deciding
4285 whether an arglist is "nonempty", ignore a comment after the open 4519 whether an arglist is "nonempty", ignore a comment after the open
4286 paren if it isn't followed by a non-comment token on the same 4520 paren if it isn't followed by a non-comment token on the same line.
4287 line.
4288 4521
4289 * progmodes/cc-engine.el (c-guess-basic-syntax): Case 4: Enable 4522 * progmodes/cc-engine.el (c-guess-basic-syntax): Case 4:
4290 heuristics below the point to cope with classes inside special 4523 Enable heuristics below the point to cope with classes inside special
4291 brace lists in Pike. 4524 brace lists in Pike.
4292 4525
42932005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 45262005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
@@ -4326,12 +4559,11 @@
4326 * progmodes/cc-cmds.el: Add `c-bytecomp-defun's for 4559 * progmodes/cc-cmds.el: Add `c-bytecomp-defun's for
4327 c-\(forward\|backward\)-subword. 4560 c-\(forward\|backward\)-subword.
4328 (c-update-modeline): Add the new modeline flag `l' for 4561 (c-update-modeline): Add the new modeline flag `l' for
4329 `c-electric-flag'. Make the auto-newline flag `a' dependent on 4562 `c-electric-flag'. Make the auto-newline flag `a' dependent on `l'.
4330 `l'. 4563 (c-toggle-auto-state): Rename it to `c-toggle-auto-newline'.
4331 (c-toggle-auto-state): Rename it to `c-toggle-auto-newline'. Make 4564 Make the old name an alias of the new name.
4332 the old name an alias of the new name.
4333 (c-toggle-electric-state): New function. 4565 (c-toggle-electric-state): New function.
4334 c-electric-\(pound\|brace\|slash\|star\|semi&comma\|colon\|lt-gt\|paren\|continued-statement\): 4566 (c-electric-\(pound\|brace\|slash\|star\|semi&comma\|colon\|lt-gt\|paren\|continued-statement\)):
4335 Adapt these functions to do electric things only when 4567 Adapt these functions to do electric things only when
4336 c-electric-flag is non-nil. 4568 c-electric-flag is non-nil.
4337 (c-point-syntax, c-brace-newlines, c-try-oneliner): Extract these 4569 (c-point-syntax, c-brace-newlines, c-try-oneliner): Extract these
@@ -4347,18 +4579,17 @@
43472005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 45792005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4348 4580
4349 * progmodes/cc-cmds.el (c-show-syntactic-information): Show the 4581 * progmodes/cc-cmds.el (c-show-syntactic-information): Show the
4350 anchor position(s) using faces. Thanks to Masatake YAMATO for the 4582 anchor position(s) using faces. Thanks to Masatake YAMATO for the idea.
4351 idea.
4352 4583
4353 * progmodes/cc-mode.el, cc-cmds.el, cc-defs.el, cc-engine.el 4584 * progmodes/cc-mode.el, cc-cmds.el, cc-defs.el, cc-engine.el
4354 (c-submode-indicators): Changed name from `c-auto-hungry-string' 4585 (c-submode-indicators): Change name from `c-auto-hungry-string'
4355 since it's now used to track another submode. 4586 since it's now used to track another submode.
4356 4587
4357 (c-update-modeline): Converted to function and extended to check 4588 (c-update-modeline): Convert to function and extended to check
4358 `c-subword-move-mode'. 4589 `c-subword-move-mode'.
4359 4590
4360 (c-forward-into-nomenclature, c-backward-into-nomenclature): 4591 (c-forward-into-nomenclature, c-backward-into-nomenclature):
4361 Converted to compat aliases for `c-forward-subword' and 4592 Convert to compat aliases for `c-forward-subword' and
4362 `c-backward-subword'. 4593 `c-backward-subword'.
4363 4594
4364 * progmodes/cc-subword.el: New functions and minor mode to handle 4595 * progmodes/cc-subword.el: New functions and minor mode to handle
@@ -4401,10 +4632,10 @@
4401 4632
44022005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 46332005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4403 4634
4404 * progmodes/cc-engine.el (c-forward-label): Fixed fontification of 4635 * progmodes/cc-engine.el (c-forward-label): Fix fontification of
4405 macros inside labels. 4636 macros inside labels.
4406 4637
4407 * progmodes/cc-engine.el (c-looking-at-bos): Obsoleted in favor of 4638 * progmodes/cc-engine.el (c-looking-at-bos): Obsolete in favor of
4408 `c-at-statement-start-p' and `c-at-expression-start-p'. 4639 `c-at-statement-start-p' and `c-at-expression-start-p'.
4409 4640
4410 * progmodes/cc-defs.el (c-tnt-chng-record-state): Don't signal an 4641 * progmodes/cc-defs.el (c-tnt-chng-record-state): Don't signal an
@@ -4418,9 +4649,8 @@
4418 like `c-at-statement-start-p' that additionally recognizes commas 4649 like `c-at-statement-start-p' that additionally recognizes commas
4419 and expression parentheses as delimiters. 4650 and expression parentheses as delimiters.
4420 4651
4421 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Added flag 4652 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Add flag
4422 to avoid heuristics that doesn't work for unclosed blocks. 4653 to avoid heuristics that doesn't work for unclosed blocks.
4423
4424 (c-at-statement-start-p): New function. 4654 (c-at-statement-start-p): New function.
4425 4655
4426 * progmodes/cc-engine.el, cc-fonts.el: Fixes in handling of 4656 * progmodes/cc-engine.el, cc-fonts.el: Fixes in handling of
@@ -4435,54 +4665,53 @@
4435 (c-just-after-func-arglist-p, c-guess-basic-syntax) 4665 (c-just-after-func-arglist-p, c-guess-basic-syntax)
4436 (c-basic-matchers-before): Use it. 4666 (c-basic-matchers-before): Use it.
4437 4667
4438 (c-font-lock-objc-iip-decl): Removed. 4668 (c-font-lock-objc-iip-decl): Remove.
4439 4669
4440 * progmodes/cc-engine.el (c-guess-basic-syntax): Some improvement 4670 * progmodes/cc-engine.el (c-guess-basic-syntax): Some improvement
4441 in the template arglist recognition. 4671 in the template arglist recognition.
4442 4672
4443 * progmodes/cc-styles.el (c-style-alist): Fixed several 4673 * progmodes/cc-styles.el (c-style-alist): Fix several
4444 inconsistencies in the Whitesmith style. 4674 inconsistencies in the Whitesmith style.
4445 4675
4446 * progmodes/cc-align.el (c-lineup-after-whitesmith-blocks): 4676 * progmodes/cc-align.el (c-lineup-after-whitesmith-blocks):
4447 New lineup function to get lines after Whitesmith style blocks 4677 New lineup function to get lines after Whitesmith style blocks
4448 correctly indented. 4678 correctly indented.
4449 4679
4450 (c-lineup-whitesmith-in-block): Backed out the compensation for 4680 (c-lineup-whitesmith-in-block): Back out the compensation for
4451 opening parens since it's done using `add' lists in the style 4681 opening parens since it's done using `add' lists in the style
4452 definition instead. Don't use the anchor position since it varies 4682 definition instead. Don't use the anchor position since it varies
4453 too much between the syntactic symbols. :P 4683 too much between the syntactic symbols. :P
4454 4684
4455 * progmodes/cc-vars.el (c-valid-offset): Updated. 4685 * progmodes/cc-vars.el (c-valid-offset): Update.
4456 4686
4457 * progmodes/cc-engine.el (c-evaluate-offset): Extended to handle 4687 * progmodes/cc-engine.el (c-evaluate-offset): Extend to handle
4458 lists where the offsets are combined according to several 4688 lists where the offsets are combined according to several
4459 different methods: `first', `min', `max', and `add'. Report 4689 different methods: `first', `min', `max', and `add'.
4460 offset evaluation errors with `c-benign-error' so that some kind 4690 Report offset evaluation errors with `c-benign-error' so that some kind
4461 of reindentation still is done. 4691 of reindentation still is done.
4462 4692
4463 * progmodes/cc-engine.el (c-guess-basic-syntax): Anchor 4693 * progmodes/cc-engine.el (c-guess-basic-syntax):
4464 `arglist-intro' the same way as `arglist-cont-nonempty' and 4694 Anchor `arglist-intro' the same way as `arglist-cont-nonempty' and
4465 `arglist-close'. 4695 `arglist-close'.
4466 4696
4467 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed similar 4697 * progmodes/cc-engine.el (c-guess-basic-syntax): Fix similar
4468 situations for `arglist-cont-nonempty' and `arglist-close'. 4698 situations for `arglist-cont-nonempty' and `arglist-close'.
4469 4699
4470 * progmodes/cc-langs.el (c-opt-identifier-concat-key-depth): New 4700 * progmodes/cc-langs.el (c-opt-identifier-concat-key-depth): New const.
4471 constant.
4472 4701
4473 * progmodes/cc-defs.el: Use `cc-bytecomp-fboundp' and 4702 * progmodes/cc-defs.el: Use `cc-bytecomp-fboundp' and
4474 cc-bytecomp-boundp' in a number of places. 4703 cc-bytecomp-boundp' in a number of places.
4475 4704
4476 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed a 4705 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fix a
4477 macro related issue. 4706 macro related issue.
4478 4707
44792005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 47082005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4480 4709
4481 * progmodes/cc-awk.el: Change the terminology of regexps: A char 4710 * progmodes/cc-awk.el: Change the terminology of regexps: A char
4482 list is now [asdf], a char class [:alpha:]. Include code for char 4711 list is now [asdf], a char class [:alpha:].
4483 classes. Set c-awk-NL-prop on lines ending in open strings. (Bug 4712 Include code for char classes.
4484 fix.) Add character classes (e.g. "[:alpha:]") into AWK Mode's 4713 Set c-awk-NL-prop on lines ending in open strings. (Bug fix.)
4485 regexps. 4714 Add character classes (e.g. "[:alpha:]") into AWK Mode's regexps.
4486 4715
4487 Remove (nearly all of) the cruft associated with AWK Mode's former 4716 Remove (nearly all of) the cruft associated with AWK Mode's former
4488 concept of "virtual semicolons": 4717 concept of "virtual semicolons":
@@ -4521,15 +4750,14 @@
4521 4750
45222005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 47512005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4523 4752
4524 * progmodes/cc-awk.el: Regexps for analysing AWK code have been 4753 * progmodes/cc-awk.el: Move regexps for analysing AWK code to near the
4525 moved to near the start of the file. ^L now separate sections of 4754 start of the file. ^L now separate sections of the file.
4526 the file. New defconsts: c-awk-non-eol-esc-pair-re, 4755 (c-awk-non-eol-esc-pair-re, c-awk-blank-or-comment-line-re)
4527 c-awk-blank-or-comment-line-re, 4756 (c-awk-one-line-possibly-open-string-re)
4528 c-awk-one-line-possibly-open-string-re, 4757 (c-awk-regexp-one-line-possibly-open-char-class-re)
4529 c-awk-regexp-one-line-possibly-open-char-class-re, 4758 (c-awk-one-line-possibly-open-regexp-re)
4530 c-awk-one-line-possibly-open-regexp-re, 4759 (c-awk-one-line-non-syn-ws*-re): New defonsts.
4531 c-awk-one-line-non-syn-ws*-re. New functions: c-awk-at-vsemi-p, 4760 (c-awk-at-vsemi-p, c-awk-vsemi-status-unknown-p): New functions.
4532 c-awk-vsemi-status-unknown-p.
4533 4761
4534 Amend the concept of "virtual semicolons" (in the indentation 4762 Amend the concept of "virtual semicolons" (in the indentation
4535 engine) for languages like AWK, such that they are now 4763 engine) for languages like AWK, such that they are now
@@ -4537,12 +4765,12 @@
4537 the end of the line. (In AWK Mode, however, the pertinent text 4765 the end of the line. (In AWK Mode, however, the pertinent text
4538 property is still physically set on the EOL.) Remove the specific 4766 property is still physically set on the EOL.) Remove the specific
4539 tests for awk-mode, thus facilitating the introduction of other 4767 tests for awk-mode, thus facilitating the introduction of other
4540 language modes where EOLs can end statements. (Note: The 4768 language modes where EOLs can end statements.
4541 funtionality in cc-cmds.el, specifically 4769 (Note: The funtionality in cc-cmds.el, specifically
4542 c-beginning/end-of-statement has yet to be amended.) 4770 c-beginning/end-of-statement has yet to be amended.)
4543 4771
4544 * progmodes/cc-defs.el: New macros c-at-vsemi-p, 4772 * progmodes/cc-defs.el (c-at-vsemi-p, c-vsemi-status-unknown-p):
4545 c-vsemi-status-unknown-p. 4773 New macros.
4546 4774
4547 * progmodes/cc-langs.el: Added `#' into AWK Mode's value of 4775 * progmodes/cc-langs.el: Added `#' into AWK Mode's value of
4548 c-stmt-delim-chars. New c-lang-defvars: c-at-vsemi-p-fn, 4776 c-stmt-delim-chars. New c-lang-defvars: c-at-vsemi-p-fn,
@@ -4552,25 +4780,21 @@
4552 c-crosses-statement-barrier-p, c-guess-basic-syntax, replace 4780 c-crosses-statement-barrier-p, c-guess-basic-syntax, replace
4553 numerous awkward forms like 4781 numerous awkward forms like
4554 (if (c-major-mode-is 'awk-mode) (c-awk-prev-line-incomplete-p)) 4782 (if (c-major-mode-is 'awk-mode) (c-awk-prev-line-incomplete-p))
4555 with 4783 with (c-at-vsemi-p). Fix a few typos. In c-guess-basic-syntax, new
4556 (c-at-vsemi-p). Fix a few typos. In c-guess-basic-syntax, new 4784 variable before-ws-ip, the place just after char-before-ip appears.
4557 variable before-ws-ip, the place just after char-before-ip
4558 appears.
4559 4785
4560 * progmodes/cc-mode.el: Fix what's almost a semantic ambiguity in 4786 * progmodes/cc-mode.el: Fix what's almost a semantic ambiguity in
4561 a comment. 4787 a comment.
4562 4788
45632005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 47892005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
4564 4790
4565 * progmodes/cc-cmds.el (c-electric-brace): Cleaned up using 4791 * progmodes/cc-cmds.el (c-electric-brace): Clean up using
4566 `c-tentative-buffer-changes'. 4792 `c-tentative-buffer-changes'.
4567 4793
4568 * progmodes/cc-defs.el (c-region-is-active-p): Simplified and 4794 * progmodes/cc-defs.el (c-region-is-active-p): Simplify and
4569 converted to macro to choose between Emacs and XEmacs at compile 4795 convert to macro to choose between Emacs and XEmacs at compile time.
4570 time.
4571 4796
4572 (c-set-region-active): New set counterpart to 4797 (c-set-region-active): New set counterpart to `c-region-is-active-p'.
4573 `c-region-is-active-p'.
4574 4798
4575 (c-tentative-buffer-changes): New macro to handle temporary buffer 4799 (c-tentative-buffer-changes): New macro to handle temporary buffer
4576 changes in a convenient way. 4800 changes in a convenient way.
@@ -4578,7 +4802,7 @@
4578 (c-tnt-chng-record-state, c-tnt-chng-cleanup): Internal helpers 4802 (c-tnt-chng-record-state, c-tnt-chng-cleanup): Internal helpers
4579 for `c-tentative-buffer-changes'. 4803 for `c-tentative-buffer-changes'.
4580 4804
4581 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Tightened up 4805 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Tighten up
4582 the checks for paren sexps between the point and the keyword, to 4806 the checks for paren sexps between the point and the keyword, to
4583 avoid some false alarms. 4807 avoid some false alarms.
4584 4808
@@ -4587,23 +4811,22 @@
4587 parens. Changed to make use of c-keyword-member' to avoid some 4811 parens. Changed to make use of c-keyword-member' to avoid some
4588 repeated regexp matches. 4812 repeated regexp matches.
4589 4813
4590 (c-opt-lambda-key, c-opt-inexpr-block-key, 4814 (c-opt-lambda-key, c-opt-inexpr-block-key, c-opt-inexpr-class-key):
4591 c-opt-inexpr-class-key): These language variable are no longer 4815 These language variable are no longer necessary.
4592 necessary.
4593 4816
4594 (c-block-stmt-kwds): New language constant used by 4817 (c-block-stmt-kwds): New language constant used by
4595 c-looking-at-inexpr-block'. 4818 c-looking-at-inexpr-block'.
4596 4819
4597 (c-guess-basic-syntax): Removed an optional check that looked at 4820 (c-guess-basic-syntax): Remove an optional check that looked at
4598 the existence of the now removed language variables. 4821 the existence of the now removed language variables.
4599 4822
4600 * progmodes/cc-engine.el (c-fdoc-shift-type-backward, 4823 * progmodes/cc-engine.el (c-fdoc-shift-type-backward)
4601 c-forward-decl-or-cast-1): Fixed invalid recognition of C++ style 4824 (c-forward-decl-or-cast-1): Fix invalid recognition of C++ style
4602 object instantiation expressions as declarations in some contexts. 4825 object instantiation expressions as declarations in some contexts.
4603 This bug only affected languages where the declarator can't be 4826 This bug only affected languages where the declarator can't be
4604 enclosed in parentheses. 4827 enclosed in parentheses.
4605 4828
4606 * progmodes/cc-styles.el (c-style-alist): Fixed the GNU style to 4829 * progmodes/cc-styles.el (c-style-alist): Fix the GNU style to
4607 insert newlines before and after substatement braces. 4830 insert newlines before and after substatement braces.
4608 4831
4609 * progmodes/cc-engine.el: Improved the heuristics for recognizing 4832 * progmodes/cc-engine.el: Improved the heuristics for recognizing
@@ -4613,15 +4836,14 @@
4613 (c-just-after-func-arglist-p): Rewritten to use 4836 (c-just-after-func-arglist-p): Rewritten to use
4614 `c-forward-decl-or-cast-1'. Now behaves a bit differently too. 4837 `c-forward-decl-or-cast-1'. Now behaves a bit differently too.
4615 4838
4616 (c-beginning-of-member-init-list): Removed since it isn't used 4839 (c-beginning-of-member-init-list): Remove since it isn't used anymore.
4617 anymore.
4618 4840
4619 (c-guess-basic-syntax): Case 5B adapted for the new 4841 (c-guess-basic-syntax): Adapt case 5B for the new
4620 `c-just-after-func-arglist-p'. Cases 5B.1 and 5B.3 merged. Cases 4842 `c-just-after-func-arglist-p'. Merge cases 5B.1 and 5B.3.
4621 5D.1 and 5D.2 removed since they aren't trigged anymore (case 5B.1 4843 Remove cases 5D.1 and 5D.2 since they aren't trigged anymore (case 5B.1
4622 covers all cases now). 4844 covers all cases now).
4623 4845
4624 * progmodes/cc-defs.el (c-point): Added `bosws' and `eosws'. 4846 * progmodes/cc-defs.el (c-point): Add `bosws' and `eosws'.
4625 4847
46262005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 48482005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
4627 4849
@@ -4644,15 +4866,15 @@
4644 (c-search-uplist-for-classkey): The old one. It's now a wrapper 4866 (c-search-uplist-for-classkey): The old one. It's now a wrapper
4645 for compatibility. 4867 for compatibility.
4646 4868
4647 (c-add-class-syntax, c-guess-continued-construct, 4869 (c-add-class-syntax, c-guess-continued-construct)
4648 c-guess-basic-syntax): Adapted for `c-looking-at-decl-block'. 4870 (c-guess-basic-syntax): Adapt for `c-looking-at-decl-block'.
4649 4871
4650 (c-decl-block-key): Changed to tell apart ambiguous and 4872 (c-decl-block-key): Change to tell apart ambiguous and
4651 unambiguous keywords. Pike specials are now handled directly in 4873 unambiguous keywords. Pike specials are now handled directly in
4652 the code instead. 4874 the code instead.
4653 4875
4654 (c-block-prefix-disallowed-chars, c-block-prefix-charset): New 4876 (c-block-prefix-disallowed-chars, c-block-prefix-charset):
4655 language constants and variables to make the backward skip in 4877 New language constants and variables to make the backward skip in
4656 `c-looking-at-decl-block' as tight as possible. 4878 `c-looking-at-decl-block' as tight as possible.
4657 4879
4658 (c-nonsymbol-token-char-list): New language constant. 4880 (c-nonsymbol-token-char-list): New language constant.
@@ -4663,7 +4885,7 @@
4663 * progmodes/cc-defs.el (c-make-bare-char-alt): New helper for 4885 * progmodes/cc-defs.el (c-make-bare-char-alt): New helper for
4664 making char classes for `c-syntactic-skip-backward'. 4886 making char classes for `c-syntactic-skip-backward'.
4665 4887
4666 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplified case 4888 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplify case
4667 16D - can't be a class-close at that point. 4889 16D - can't be a class-close at that point.
4668 4890
4669 * progmodes/cc-engine.el (c-guess-basic-syntax) 4891 * progmodes/cc-engine.el (c-guess-basic-syntax)
@@ -4674,17 +4896,16 @@
4674 `c-guess-basic-syntax' never will look at things outside the 4896 `c-guess-basic-syntax' never will look at things outside the
4675 current narrowment now. The anchor position for `topmost-intro' 4897 current narrowment now. The anchor position for `topmost-intro'
4676 is affected by this, but it was so bogus it was basically useless 4898 is affected by this, but it was so bogus it was basically useless
4677 before, and now it's equally bogus but in a slightly different 4899 before, and now it's equally bogus but in a slightly different way.
4678 way.
4679 4900
4680 (c-narrow-out-enclosing-class): Gone. 4901 (c-narrow-out-enclosing-class): Gone.
4681 4902
4682 (c-most-enclosing-brace, c-least-enclosing-brace): Don't filter to 4903 (c-most-enclosing-brace, c-least-enclosing-brace): Don't filter to
4683 the narrowed region. 4904 the narrowed region.
4684 4905
4685 (c-least-enclosing-brace): Removed silly optional argument. 4906 (c-least-enclosing-brace): Remove silly optional argument.
4686 4907
4687 * progmodes/cc-engine.el (c-beginning-of-decl-1): Fixed bug where 4908 * progmodes/cc-engine.el (c-beginning-of-decl-1): Fix bug where
4688 the point could be left directly after an open paren when finding 4909 the point could be left directly after an open paren when finding
4689 the beginning of the first decl in the block. 4910 the beginning of the first decl in the block.
4690 4911
@@ -4709,13 +4930,11 @@
4709 (c-identifier-start, c-identifier-key): Now completely calculated 4930 (c-identifier-start, c-identifier-key): Now completely calculated
4710 from other constants. 4931 from other constants.
4711 4932
4712 (c-identifier-last-sym-match): Decommissioned since it's no longer 4933 (c-identifier-last-sym-match): Decommission since it's no longer used.
4713 used.
4714 4934
4715 (c-operators): Use `c-identifier-ops'. Documented 4935 (c-operators): Use `c-identifier-ops'. Document `postfix-if-paren'.
4716 `postfix-if-paren'.
4717 4936
4718 * progmodes/cc-engine.el (c-forward-name): Removed the 4937 * progmodes/cc-engine.el (c-forward-name): Remove the
4719 optimization when c-identifier-key is equal to c-symbol-key since 4938 optimization when c-identifier-key is equal to c-symbol-key since
4720 it doesn't work in byte compiled files. Don't record empty 4939 it doesn't work in byte compiled files. Don't record empty
4721 regions as identifiers. 4940 regions as identifiers.
@@ -4731,13 +4950,13 @@
4731 * progmodes/cc-defs.el (c-lang-const): Fixes to allow use without 4950 * progmodes/cc-defs.el (c-lang-const): Fixes to allow use without
4732 an explicit language in functions. 4951 an explicit language in functions.
4733 4952
4734 * progmodes/cc-defs.el (c-make-keywords-re): Added an appendable 4953 * progmodes/cc-defs.el (c-make-keywords-re): Add an appendable
4735 variant of adornment. 4954 variant of adornment.
4736 4955
4737 * progmodes/cc-langs.el (c-any-class-key): Removed unused language 4956 * progmodes/cc-langs.el (c-any-class-key): Remove unused language
4738 variable. 4957 variable.
4739 4958
4740 (c-type-decl-prefix-key): Removed some now unnecessary cruft from 4959 (c-type-decl-prefix-key): Remove some now unnecessary cruft from
4741 the Pike value. 4960 the Pike value.
4742 4961
4743 * progmodes/cc-engine.el (c-on-identifier) 4962 * progmodes/cc-engine.el (c-on-identifier)
@@ -4745,7 +4964,7 @@
4745 correctly in `skip-chars-backward'. Affected the operator lfun 4964 correctly in `skip-chars-backward'. Affected the operator lfun
4746 syntax in Pike. 4965 syntax in Pike.
4747 4966
4748 * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Disabled the 4967 * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Disable the
4749 diagnostic message about precompiled language vars not being used. 4968 diagnostic message about precompiled language vars not being used.
4750 4969
4751 * progmodes/cc-langs.el (c-paren-nontype-kwds): The GCC keyword 4970 * progmodes/cc-langs.el (c-paren-nontype-kwds): The GCC keyword
@@ -4755,9 +4974,9 @@
4755 (c-specifier-key, c-not-decl-init-keywords): Some cleanup using new 4974 (c-specifier-key, c-not-decl-init-keywords): Some cleanup using new
4756 language constants `c-type-start-kwds' and `c-prefix-spec-kwds'. 4975 language constants `c-type-start-kwds' and `c-prefix-spec-kwds'.
4757 4976
4758 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el: Internal 4977 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el:
4759 cleanups to properly detect the declared identifiers in various 4978 Internal cleanups to properly detect the declared identifiers in
4760 declarations. 4979 various declarations.
4761 4980
4762 (c-decl-start-kwds): New language constant to recognize 4981 (c-decl-start-kwds): New language constant to recognize
4763 declarations that can start anywhere. Used for class declarations 4982 declarations that can start anywhere. Used for class declarations
@@ -4768,7 +4987,7 @@
4768 (c-find-decl-spots): Implement `c-decl-start-kwds'. 4987 (c-find-decl-spots): Implement `c-decl-start-kwds'.
4769 4988
4770 (c-other-decl-kwds, c-postfix-decl-spec-kwds, c-decl-hangon-kwds) 4989 (c-other-decl-kwds, c-postfix-decl-spec-kwds, c-decl-hangon-kwds)
4771 (c-decl-hangon-key, c-forward-decl-or-cast-1): Separated the 4990 (c-decl-hangon-key, c-forward-decl-or-cast-1): Separate the
4772 handling of the compiler specific extension keywords into a new 4991 handling of the compiler specific extension keywords into a new
4773 language constant `c-decl-hangon-kwds' that defines keyword 4992 language constant `c-decl-hangon-kwds' that defines keyword
4774 clauses to be ignored in declarations. 4993 clauses to be ignored in declarations.
@@ -4784,9 +5003,8 @@
4784 (c-forward-decl-or-cast-1): Recognize the declared identifier in 5003 (c-forward-decl-or-cast-1): Recognize the declared identifier in
4785 class and enum declarations as such and not as part of the type. 5004 class and enum declarations as such and not as part of the type.
4786 5005
4787 (c-forward-decl-or-cast-1, c-forward-label): Relaxed the 5006 (c-forward-decl-or-cast-1, c-forward-label): Relax the
4788 interpretation of PRECEDING-TOKEN-END when there's no preceding 5007 interpretation of PRECEDING-TOKEN-END when there's no preceding token.
4789 token.
4790 5008
4791 (c-forward-decl-or-cast-1): Don't disregard sure signs of 5009 (c-forward-decl-or-cast-1): Don't disregard sure signs of
4792 declarations when there's some syntax error later on. 5010 declarations when there's some syntax error later on.
@@ -4799,7 +5017,7 @@
4799 5017
4800 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el, cc-menus.el 5018 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el, cc-menus.el
4801 * cc-mode.el, cc-styles.el, cc-vars.el, cc-align.el, cc-awk.el 5019 * cc-mode.el, cc-styles.el, cc-vars.el, cc-align.el, cc-awk.el
4802 * cc-cmds.el, cc-defs.el: Changed the policy for marking up 5020 * cc-cmds.el, cc-defs.el: Change the policy for marking up
4803 functions that might do hidden buffer changes: All such internal 5021 functions that might do hidden buffer changes: All such internal
4804 functions are now marked instead of those that don't. 5022 functions are now marked instead of those that don't.
4805 5023
@@ -4814,10 +5032,10 @@
4814 (c-electric-semi&comma, c-electric-colon, c-electric-lt-gt) 5032 (c-electric-semi&comma, c-electric-colon, c-electric-lt-gt)
4815 (c-electric-paren, c-electric-continued-statement, c-indent-command) 5033 (c-electric-paren, c-electric-continued-statement, c-indent-command)
4816 (c-indent-region, c-mask-paragraph, c-indent-new-comment-line) 5034 (c-indent-region, c-mask-paragraph, c-indent-new-comment-line)
4817 (c-context-line-break): Added `c-save-buffer-state' calls to comply 5035 (c-context-line-break): Add `c-save-buffer-state' calls to comply
4818 with the changed semantics of the functions above. 5036 with the changed semantics of the functions above.
4819 5037
4820 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed a bug 5038 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fix a bug
4821 when macros occur in obscure places. Optimized the sexp movement 5039 when macros occur in obscure places. Optimized the sexp movement
4822 a bit. 5040 a bit.
4823 5041
@@ -4849,13 +5067,13 @@
4849 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el: Cleaned up the 5067 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el: Cleaned up the
4850 label handling. Labels are now recognized in a uniform and more 5068 label handling. Labels are now recognized in a uniform and more
4851 robust way, regardless of context. Text properties are put on all 5069 robust way, regardless of context. Text properties are put on all
4852 labels to recognize the following declarations better. Multiword 5070 labels to recognize the following declarations better.
4853 labels are handled both in indentation and fontification for the 5071 Multiword labels are handled both in indentation and fontification for
4854 benefit of language extensions like Qt. For consistency, keywords 5072 the benefit of language extensions like Qt. For consistency, keywords
4855 in labels are now fontified with the label face instead. That 5073 in labels are now fontified with the label face instead.
4856 also applies to "case" and "default". 5074 That also applies to "case" and "default".
4857 5075
4858 (c-beginning-of-statement-1): Fixed some bugs in the label 5076 (c-beginning-of-statement-1): Fix some bugs in the label
4859 handling. Disregard `c-nonlabel-token-key' in labels that begin 5077 handling. Disregard `c-nonlabel-token-key' in labels that begin
4860 with `c-label-kwds'. 5078 with `c-label-kwds'.
4861 5079
@@ -4867,70 +5085,68 @@
4867 5085
4868 (c-forward-label): New function to recognize labels. 5086 (c-forward-label): New function to recognize labels.
4869 5087
4870 (c-guess-basic-syntax): Replaced uses of `c-label-key' with 5088 (c-guess-basic-syntax): Replace uses of `c-label-key' with
4871 `c-forward-label'. Moved the label recognition cases (14 and 15) 5089 `c-forward-label'. Moved the label recognition cases (14 and 15)
4872 earlier since they aren't so context sensitive now. Handle labels 5090 earlier since they aren't so context sensitive now. Handle labels
4873 on the top level gracefully. Moved access label recognition to 5091 on the top level gracefully. Moved access label recognition to
4874 the generic label case (CASE 15) - removed CASE 5E. 5092 the generic label case (CASE 15) - removed CASE 5E.
4875 5093
4876 (c-font-lock-declarations): Added recognition of labels in the 5094 (c-font-lock-declarations): Add recognition of labels in the
4877 same round since we need to handle labels in parallell with other 5095 same round since we need to handle labels in parallell with other
4878 declarations to recognize both accurately. It should also improve 5096 declarations to recognize both accurately. It should also improve
4879 speed. 5097 speed.
4880 5098
4881 (c-simple-decl-matchers, c-basic-matchers-after): Moved 5099 (c-simple-decl-matchers, c-basic-matchers-after):
4882 `c-font-lock-labels' so that it only is used on decoration level 2 5100 Move `c-font-lock-labels' so that it only is used on decoration level 2
4883 since `c-font-lock-declarations' handles it otherwise. 5101 since `c-font-lock-declarations' handles it otherwise.
4884 5102
4885 (c-complex-decl-matchers): Removed the simplistic recognition of 5103 (c-complex-decl-matchers): Remove the simplistic recognition of
4886 access labels. 5104 access labels.
4887 5105
4888 (c-decl-prefix-re): Removed the kludges that was necessary to cope 5106 (c-decl-prefix-re): Remove the kludges that was necessary to cope
4889 with labels earlier. 5107 with labels earlier.
4890 5108
4891 (c-decl-start-re): New language variable to make 5109 (c-decl-start-re): New language variable to make
4892 `c-font-lock-declarations' stop for the special protection labels 5110 `c-font-lock-declarations' stop for the special protection labels
4893 in Objective-C that start with `@'. 5111 in Objective-C that start with `@'.
4894 5112
4895 (c-label-key): Removed since it's no longer used. 5113 (c-label-key): Remove since it's no longer used.
4896 5114
4897 (c-recognize-colon-labels, c-label-prefix-re): New language 5115 (c-recognize-colon-labels, c-label-prefix-re): New language
4898 constants to support recognition of generic colon-terminated 5116 constants to support recognition of generic colon-terminated labels.
4899 labels.
4900 5117
4901 (c-type-decl-end-used): `c-decl-end' is now used whenever there 5118 (c-type-decl-end-used): `c-decl-end' is now used whenever there
4902 are colon terminated labels. 5119 are colon terminated labels.
4903 5120
4904 * progmodes/cc-align.el (c-lineup-arglist): Fixed bug when the 5121 * progmodes/cc-align.el (c-lineup-arglist): Fix bug when the
4905 first argument starts with a special brace list. 5122 first argument starts with a special brace list.
4906 5123
4907 * progmodes/cc-engine.el, cc-fonts.el (c-forward-decl-or-cast-1) 5124 * progmodes/cc-engine.el, cc-fonts.el (c-forward-decl-or-cast-1)
4908 (c-font-lock-declarations): Broke out the declaration and cast 5125 (c-font-lock-declarations): Break out the declaration and cast
4909 recognition from `c-font-lock-declarations' to a new function, so 5126 recognition from `c-font-lock-declarations' to a new function, so
4910 that it can be used in the indentation engine. 5127 that it can be used in the indentation engine.
4911 5128
4912 * progmodes/cc-engine.el (c-find-decl-spots): Fixed bug in backing 5129 * progmodes/cc-engine.el (c-find-decl-spots): Fix bug in backing
4913 up to the start of the literal. Fixed bug with the point on the 5130 up to the start of the literal. Fixed bug with the point on the
4914 wrong side of the search limit that could happen when the start 5131 wrong side of the search limit that could happen when the start
4915 position is inside a literal. 5132 position is inside a literal.
4916 5133
4917 * progmodes/cc-engine.el (c-parse-state) 5134 * progmodes/cc-engine.el (c-parse-state)
4918 (c-invalidate-state-cache): Modified the use of `c-state-cache-end' 5135 (c-invalidate-state-cache): Modify the use of `c-state-cache-end'
4919 so that it's kept a little bit back to increase the hit rate. 5136 so that it's kept a little bit back to increase the hit rate.
4920 5137
4921 (c-parse-state): Changed the macro handling and fixed some 5138 (c-parse-state): Change the macro handling and fixed some
4922 glitches. Macro context is checked more often than necessary now, 5139 glitches. Macro context is checked more often than necessary now,
4923 but otoh less garbage conses are generated. 5140 but otoh less garbage conses are generated.
4924 5141
4925 * progmodes/cc-engine.el (c-parse-state) 5142 * progmodes/cc-engine.el (c-parse-state)
4926 (c-invalidate-state-cache): Cache the last position where 5143 (c-invalidate-state-cache): Cache the last position where
4927 `c-state-cache' applies. This can speed up refontification quite 5144 `c-state-cache' applies. This can speed up refontification quite
4928 a bit in blocks where there are many non-brace parens before the 5145 a bit in blocks where there are many non-brace parens before the point.
4929 point.
4930 5146
4931 (c-state-cache-end): New variable for this. 5147 (c-state-cache-end): New variable for this.
4932 5148
4933 (c-guess-basic-syntax, c-debug-parse-state): Adapted for the new 5149 (c-guess-basic-syntax, c-debug-parse-state): Adapt for the new
4934 cache variable. 5150 cache variable.
4935 5151
4936 * progmodes/cc-engine.el (c-find-decl-spots): Take more care to 5152 * progmodes/cc-engine.el (c-find-decl-spots): Take more care to
@@ -4941,39 +5157,39 @@
4941 region is a single line inside a literal or macro (typically when 5157 region is a single line inside a literal or macro (typically when
4942 the current line is refontified). 5158 the current line is refontified).
4943 5159
4944 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplified calls 5160 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplify calls
4945 to `c-add-stmt-syntax' - there's no need to explicitly whack off 5161 to `c-add-stmt-syntax' - there's no need to explicitly whack off
4946 entries from the paren state. 5162 entries from the paren state.
4947 5163
4948 * progmodes/cc-engine.el (c-add-stmt-syntax): Narrowed down the 5164 * progmodes/cc-engine.el (c-add-stmt-syntax): Narrow down the
4949 special case for "else if" clauses. 5165 special case for "else if" clauses.
4950 5166
4951 * progmodes/cc-engine.el (c-looking-at-inexpr-block) 5167 * progmodes/cc-engine.el (c-looking-at-inexpr-block)
4952 (c-add-stmt-syntax): Use `c-recognize-paren-inexpr-blocks'. 5168 (c-add-stmt-syntax): Use `c-recognize-paren-inexpr-blocks'.
4953 5169
4954 * progmodes/cc-langs.el (c-recognize-paren-inexpr-blocks): New 5170 * progmodes/cc-langs.el (c-recognize-paren-inexpr-blocks):
4955 language variable to recognize the gcc extension with statement 5171 New language variable to recognize the gcc extension with statement
4956 blocks inside expressions. 5172 blocks inside expressions.
4957 5173
4958 * progmodes/cc-engine.el (c-add-stmt-syntax): Restructured to make 5174 * progmodes/cc-engine.el (c-add-stmt-syntax): Restructure to make
4959 it somewhat more comprehensible. The argument AT-BLOCK-START is 5175 it somewhat more comprehensible. The argument AT-BLOCK-START is
4960 no longer used and hence removed. 5176 no longer used and hence removed.
4961 5177
4962 (c-guess-continued-construct, c-guess-basic-syntax): Updated calls 5178 (c-guess-continued-construct, c-guess-basic-syntax): Update calls
4963 to `c-add-stmt-syntax'. 5179 to `c-add-stmt-syntax'.
4964 5180
4965 * progmodes/cc-engine.el (c-backward-to-decl-anchor): Use 5181 * progmodes/cc-engine.el (c-backward-to-decl-anchor):
4966 `c-beginning-of-statement-1' instead of duplicating parts of it. 5182 Use `c-beginning-of-statement-1' instead of duplicating parts of it.
4967 This fixes bogus label recognition. 5183 This fixes bogus label recognition.
4968 5184
4969 * progmodes/cc-engine.el (c-add-type, c-check-type) 5185 * progmodes/cc-engine.el (c-add-type, c-check-type)
4970 (c-forward-name, c-forward-type): Improved storage of template 5186 (c-forward-name, c-forward-type): Improve storage of template
4971 types in `c-found-types' so that they can be recognized better. 5187 types in `c-found-types' so that they can be recognized better.
4972 5188
4973 (c-syntactic-content): Added option to skip past nested parens. 5189 (c-syntactic-content): Add option to skip past nested parens.
4974 5190
4975 * progmodes/cc-engine.el (c-forward-name): Set 5191 * progmodes/cc-engine.el (c-forward-name):
4976 `c-last-identifier-range' all the time. It's less work that way. 5192 Set `c-last-identifier-range' all the time. It's less work that way.
4977 Handle that there might not be an identifier to store in 5193 Handle that there might not be an identifier to store in
4978 `c-last-identifier-range'. 5194 `c-last-identifier-range'.
4979 5195
@@ -4981,7 +5197,7 @@
4981 nil from `c-forward-name'. 5197 nil from `c-forward-name'.
4982 5198
4983 * progmodes/cc-defs.el (c-safe-scan-lists) 5199 * progmodes/cc-defs.el (c-safe-scan-lists)
4984 (c-(go-)?(up|down)-list-(forward|backward)): Added limit arguments. 5200 (c-(go-)?(up|down)-list-(forward|backward)): Add limit arguments.
4985 5201
4986 * progmodes/cc-defs.el (c-save-buffer-state): Use `unwind-protect' 5202 * progmodes/cc-defs.el (c-save-buffer-state): Use `unwind-protect'
4987 to work even if the form fails. 5203 to work even if the form fails.
@@ -4989,14 +5205,13 @@
4989 * progmodes/cc-engine.el (c-parse-state): Speedup when moving far 5205 * progmodes/cc-engine.el (c-parse-state): Speedup when moving far
4990 down in a large file in one go. 5206 down in a large file in one go.
4991 5207
4992 (c-get-fallback-start-pos): New helper function for 5208 (c-get-fallback-start-pos): New helper function for `c-parse-state'.
4993 `c-parse-state'.
4994 5209
4995 * progmodes/cc-align.el (c-lineup-assignments): New lineup 5210 * progmodes/cc-align.el (c-lineup-assignments): New lineup
4996 function which is like `c-lineup-math' but returns nil instead of 5211 function which is like `c-lineup-math' but returns nil instead of
4997 `c-basic-offset' when it doesn't match. 5212 `c-basic-offset' when it doesn't match.
4998 5213
4999 (c-lineup-math): Changed to use `c-lineup-assignments'. 5214 (c-lineup-math): Change to use `c-lineup-assignments'.
5000 5215
50012005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 52162005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
5002 5217
@@ -5011,7 +5226,7 @@
5011 places to use skip by syntax instead of skip by char class. 5226 places to use skip by syntax instead of skip by char class.
5012 5227
5013 * progmodes/cc-langs.el (c-unterminated-block-comment-regexp): 5228 * progmodes/cc-langs.el (c-unterminated-block-comment-regexp):
5014 Fixed a bug in the regexp that caused extreme backtracking. 5229 Fix a bug in the regexp that caused extreme backtracking.
5015 5230
5016 * progmodes/cc-langs.el (c-block-comment-starter) 5231 * progmodes/cc-langs.el (c-block-comment-starter)
5017 (c-block-comment-ender): New language constants to specify in a 5232 (c-block-comment-ender): New language constants to specify in a
@@ -5030,18 +5245,16 @@
5030 5245
5031 (c-simple-ws): New language constant for simple whitespace. 5246 (c-simple-ws): New language constant for simple whitespace.
5032 5247
5033 * progmodes/cc-defs.el (c-concat-separated): New convenience 5248 * progmodes/cc-defs.el (c-concat-separated): New convenience function.
5034 function.
5035 5249
5036 * progmodes/cc-defs.el (c-make-keywords-re): Added kludge for bug 5250 * progmodes/cc-defs.el (c-make-keywords-re): Add kludge for bug
5037 in `regexp-opt' in Emacs 20 and XEmacs when strings contain 5251 in `regexp-opt' in Emacs 20 and XEmacs when strings contain
5038 newlines. Allow and ignore nil elements in the list. 5252 newlines. Allow and ignore nil elements in the list.
5039 5253
50402005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 52542005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
5041 5255
5042 * progmodes/cc-cmds.el: Comment out a (n almost certainly 5256 * progmodes/cc-cmds.el: Comment out a (n almost certainly
5043 superfluous) check, (eq here (point-max)) in 5257 superfluous) check, (eq here (point-max)) in c-beginning-of-statement.
5044 c-beginning-of-statement.
5045 5258
5046 * progmodes/cc-cmds.el: Tidy up the comments in 5259 * progmodes/cc-cmds.el: Tidy up the comments in
5047 c-beginning-of-statement and subfunctions. 5260 c-beginning-of-statement and subfunctions.
@@ -5050,8 +5263,7 @@
5050 more flexible c-put-char-property and c-clear-char-properties. 5263 more flexible c-put-char-property and c-clear-char-properties.
5051 Add the author's email address. 5264 Add the author's email address.
5052 5265
5053 * progmodes/cc-langs.el: New variable, 5266 * progmodes/cc-langs.el (c-block-comment-start-regexp): New variable.
5054 c-block-comment-start-regexp.
5055 5267
5056 * progmodes/cc-cmds.el: Fix bug with M-e, when point is inside the 5268 * progmodes/cc-cmds.el: Fix bug with M-e, when point is inside the
5057 closing "*/" of a block comment. 5269 closing "*/" of a block comment.
@@ -5075,11 +5287,11 @@
5075 * progmodes/cc-fonts.el (c-font-lock-invalid-string): Fix when 5287 * progmodes/cc-fonts.el (c-font-lock-invalid-string): Fix when
5076 there are several strings on the same line. 5288 there are several strings on the same line.
5077 5289
5078 * progmodes/cc-engine.el (c-literal-limits): Removed the 5290 * progmodes/cc-engine.el (c-literal-limits): Remove the
5079 compatibility function for older emacsen. `c-literal-limits-fast' 5291 compatibility function for older emacsen. `c-literal-limits-fast'
5080 has now taken the place of this function. 5292 has now taken the place of this function.
5081 5293
5082 * progmodes/cc-vars.el (c-emacs-features): Removed compatibility 5294 * progmodes/cc-vars.el (c-emacs-features): Remove compatibility
5083 with older emacsen: We now require `pps-extended-state'. 5295 with older emacsen: We now require `pps-extended-state'.
5084 5296
50852005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 52972005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
@@ -5095,19 +5307,18 @@
5095 eachother. Correct a few incidental bugs. 5307 eachother. Correct a few incidental bugs.
5096 5308
5097 * progmodes/cc-cmds.el: Restructure c-beginning-of-statement: 5309 * progmodes/cc-cmds.el: Restructure c-beginning-of-statement:
5098 Improve its doc-string. Improve the handling of certain specific 5310 Improve its doc-string. Improve the handling of certain specific cases.
5099 cases.
5100 5311
51012005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 53122005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
5102 5313
5103 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el 5314 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el
5104 (c-guess-basic-syntax): Changed the way class-level labels are 5315 (c-guess-basic-syntax): Change the way class-level labels are
5105 recognized; they can now contain essentially any symbols. 5316 recognized; they can now contain essentially any symbols.
5106 5317
5107 (c-opt-extra-label-key): New language variable to cope with the 5318 (c-opt-extra-label-key): New language variable to cope with the
5108 special protection label syntax in Objective-C. 5319 special protection label syntax in Objective-C.
5109 5320
5110 (c-opt-access-key): Removed; this is now handled better by 5321 (c-opt-access-key): Remove; this is now handled better by
5111 `c-nonlabel-token-key' and `c-opt-extra-label-key'. 5322 `c-nonlabel-token-key' and `c-opt-extra-label-key'.
5112 5323
5113 (c-complex-decl-matchers): Update to handle that 5324 (c-complex-decl-matchers): Update to handle that
@@ -5120,11 +5331,11 @@
5120 Recognize bitfields better. 5331 Recognize bitfields better.
5121 5332
5122 * progmodes/cc-engine.el (c-beginning-of-inheritance-list): 5333 * progmodes/cc-engine.el (c-beginning-of-inheritance-list):
5123 Removed some cruft and fixed a bug that could cause it to go to a 5334 Remove some cruft and fixed a bug that could cause it to go to a
5124 position further down. 5335 position further down.
5125 5336
5126 * progmodes/cc-langs.el, cc-engine.el 5337 * progmodes/cc-langs.el, cc-engine.el
5127 (c-beginning-of-statement-1): Improved detection of labels in 5338 (c-beginning-of-statement-1): Improve detection of labels in
5128 declaration contexts. 5339 declaration contexts.
5129 5340
5130 (c-beginning-of-decl-1): Use it. 5341 (c-beginning-of-decl-1): Use it.
@@ -5132,11 +5343,11 @@
5132 (c-nonlabel-token-key): New language constant and variable needed 5343 (c-nonlabel-token-key): New language constant and variable needed
5133 by `c-beginning-of-statement-1'. 5344 by `c-beginning-of-statement-1'.
5134 5345
5135 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug that 5346 * progmodes/cc-engine.el (c-guess-basic-syntax): Fix bug that
5136 manifested itself due to the correction in `c-forward-sexp'. 5347 manifested itself due to the correction in `c-forward-sexp'.
5137 5348
5138 * progmodes/cc-defs.el (c-forward-sexp, c-backward-sexp): Made 5349 * progmodes/cc-defs.el (c-forward-sexp, c-backward-sexp):
5139 these behave as documented when used at the buffer limits. 5350 Make these behave as documented when used at the buffer limits.
5140 5351
5141 * progmodes/cc-mode.el, cc-engine.el, cc-langs.el 5352 * progmodes/cc-mode.el, cc-engine.el, cc-langs.el
5142 (c-type-decl-end-used): Made this a language variable. 5353 (c-type-decl-end-used): Made this a language variable.
@@ -5145,20 +5356,20 @@
5145 correctly when `combine-after-change-calls' is used together with 5356 correctly when `combine-after-change-calls' is used together with
5146 temporary narrowings. 5357 temporary narrowings.
5147 5358
5148 * progmodes/cc-engine.el (c-beginning-of-statement-1): Report 5359 * progmodes/cc-engine.el (c-beginning-of-statement-1):
5149 labels correctly when the start point is immediately after the 5360 Report labels correctly when the start point is immediately after the
5150 colon. 5361 colon.
5151 5362
5152 * progmodes/cc-defs.el (c-parse-sexp-lookup-properties): Removed 5363 * progmodes/cc-defs.el (c-parse-sexp-lookup-properties):
5153 since it isn't used anymore. 5364 Remove since it isn't used anymore.
5154 5365
5155 * progmodes/cc-cmds.el (c-electric-lt-gt): Detect and mark angle 5366 * progmodes/cc-cmds.el (c-electric-lt-gt): Detect and mark angle
5156 bracket arglists such as template parens in C++. 5367 bracket arglists such as template parens in C++.
5157 5368
5158 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fixed a bug 5369 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fix a bug
5159 in the last check-in. Some optimization. 5370 in the last check-in. Some optimization.
5160 5371
5161 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fixed bug 5372 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fix bug
5162 where it could stop at the same level in a preceding sexp when 5373 where it could stop at the same level in a preceding sexp when
5163 PAREN-LEVEL is set. 5374 PAREN-LEVEL is set.
5164 5375
@@ -5166,7 +5377,7 @@
5166 text property lookup only when it's needed. 5377 text property lookup only when it's needed.
5167 5378
5168 * progmodes/cc-langs.el, cc-engine.el, cc-fonts.el, cc-mode.el: 5379 * progmodes/cc-langs.el, cc-engine.el, cc-fonts.el, cc-mode.el:
5169 Changed the policy for paren marked angle brackets to be more 5380 Change the policy for paren marked angle brackets to be more
5170 persistent; once marked they remain marked even when they're found 5381 persistent; once marked they remain marked even when they're found
5171 to be unbalanced in the searched region. This should keep the 5382 to be unbalanced in the searched region. This should keep the
5172 paren syntax around even when individual lines are refontified in 5383 paren syntax around even when individual lines are refontified in
@@ -5180,7 +5391,7 @@
5180 (c-forward-<>-arglist, c-forward-<>-arglist-recur): The reparse 5391 (c-forward-<>-arglist, c-forward-<>-arglist-recur): The reparse
5181 argument has become `c-parse-and-markup-<>-arglists'. 5392 argument has become `c-parse-and-markup-<>-arglists'.
5182 5393
5183 (c-remove-<>-arglist-properties): Removed - no longer used. 5394 (c-remove-<>-arglist-properties): Remove - no longer used.
5184 5395
5185 (c-after-change-check-<>-operators): New function used on 5396 (c-after-change-check-<>-operators): New function used on
5186 `after-change-functions' to avoid that "<" and ">" characters that 5397 `after-change-functions' to avoid that "<" and ">" characters that
@@ -5192,28 +5403,26 @@
5192 (c-after-change): Call `c-after-change-check-<>-operators'. 5403 (c-after-change): Call `c-after-change-check-<>-operators'.
5193 5404
5194 (c-font-lock-<>-arglists): Use the context properties set by 5405 (c-font-lock-<>-arglists): Use the context properties set by
5195 `c-font-lock-declarations' to set 5406 `c-font-lock-declarations' to set `c-disallow-comma-in-<>-arglists'
5196 `c-disallow-comma-in-<>-arglists' correctly to avoid doing invalid 5407 correctly to avoid doing invalid markup.
5197 markup.
5198 5408
5199 (c-font-lock-declarations): Removed code that undoes the invalid 5409 (c-font-lock-declarations): Remove code that undoes the invalid
5200 markup done by `c-font-lock-<>-arglists'. 5410 markup done by `c-font-lock-<>-arglists'.
5201 5411
5202 (c-complex-decl-matchers): `c-font-lock-<>-arglists' now runs 5412 (c-complex-decl-matchers): `c-font-lock-<>-arglists' now runs
5203 after `c-font-lock-declarations'. 5413 after `c-font-lock-declarations'.
5204 5414
5205 * progmodes/cc-engine.el (c-syntactic-skip-backward): Added 5415 * progmodes/cc-engine.el (c-syntactic-skip-backward):
5206 paren-level feature. 5416 Add paren-level feature.
5207 5417
5208 (c-guess-basic-syntax): Improved the anchor position for 5418 (c-guess-basic-syntax): Improve the anchor position for
5209 `template-args-cont' in nested template arglists. There's still 5419 `template-args-cont' in nested template arglists. There's still
5210 much to be desired in this area, though. 5420 much to be desired in this area, though.
5211 5421
52122005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 54222005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
5213 5423
5214 * progmodes/cc-cmds.el, cc-engine.el, cc-langs.el, cc-vars.el: 5424 * progmodes/cc-cmds.el, cc-engine.el, cc-langs.el, cc-vars.el:
5215 Make the "Text Filling and Line Breaking" commands work for AWK 5425 Make the "Text Filling and Line Breaking" commands work for AWK buffers.
5216 buffers.
5217 5426
52182005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 54272005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
5219 5428
@@ -5252,7 +5461,7 @@
5252 5461
52532005-12-08 Kim F. Storm <storm@cua.dk> 54622005-12-08 Kim F. Storm <storm@cua.dk>
5254 5463
5255 * emulation/cua-base.el (cua-use-hyper-key): Replaced by ... 5464 * emulation/cua-base.el (cua-use-hyper-key): Replace by ...
5256 (cua-rectangle-modifier-key): ... this. New defcustom. Can now 5465 (cua-rectangle-modifier-key): ... this. New defcustom. Can now
5257 select either meta, hyper, or super modifier for rectangle commands. 5466 select either meta, hyper, or super modifier for rectangle commands.
5258 (cua--rectangle-modifier-key): New defvar. 5467 (cua--rectangle-modifier-key): New defvar.
@@ -5261,8 +5470,8 @@
5261 on X, to meta otherwise. Always bind C-return to toggle 5470 on X, to meta otherwise. Always bind C-return to toggle
5262 rectangle. Pass ?\s instead of `space' to cua--M/H-key. 5471 rectangle. Pass ?\s instead of `space' to cua--M/H-key.
5263 5472
5264 * emulation/cua-rect.el (cua-help-for-rectangle): Use 5473 * emulation/cua-rect.el (cua-help-for-rectangle):
5265 cua--rectangle-modifier-key. Handle super modifier too. 5474 Use cua--rectangle-modifier-key. Handle super modifier too.
5266 (cua--init-rectangles): Always bind C-return to toggle rectangle. 5475 (cua--init-rectangles): Always bind C-return to toggle rectangle.
5267 Pass ?\s instead of `space' to cua--M/H-key and cua--rect-M/H-key. 5476 Pass ?\s instead of `space' to cua--M/H-key and cua--rect-M/H-key.
5268 5477
@@ -5273,8 +5482,8 @@
5273 keymap if cua--prefix-override-timer is `shift'. 5482 keymap if cua--prefix-override-timer is `shift'.
5274 (cua--shift-control-prefix): New function; emulate "type prefix 5483 (cua--shift-control-prefix): New function; emulate "type prefix
5275 key twice" functionality to handle shifted prefix key override. 5484 key twice" functionality to handle shifted prefix key override.
5276 (cua--shift-control-c-prefix, cua--shift-control-x-prefix): New 5485 (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
5277 commands. 5486 New commands.
5278 (cua--init-keymaps): Bind them to S-C-c and S-C-x. 5487 (cua--init-keymaps): Bind them to S-C-c and S-C-x.
5279 5488
52802005-12-08 Carsten Dominik <dominik@science.uva.nl> 54892005-12-08 Carsten Dominik <dominik@science.uva.nl>