comparison lisp/ChangeLog @ 70881:376e2df4e22d

*** empty log message ***
author Alan Mackenzie <acm@muc.de>
date Wed, 24 May 2006 13:51:11 +0000
parents 3652c0618b06
children c5d2bd581ee7
comparison
equal deleted inserted replaced
70880:b34d05d3a567 70881:376e2df4e22d
1 2006-05-24 Alan Mackenzie <acm@muc.de>
2
3 * startup.el (command-line): For names of preloaded files, don't
4 append ".elc" (now done in Fload), and call file-truename on the
5 lisp directory.
6
7 * subr.el (eval-after-load): Fix the doc-string. Allow FILE to
8 match ANY loaded file with the right name, not just those in
9 load-path. Put a regexp matching the file name into
10 after-load-alist, rather than the name itself.
11
12 * subr.el: New functions load-history-regexp,
13 load-history-filename-element, do-after-load-evaluation.
14
15 * international/mule.el (load-with-code-conversion): Do the
16 eval-after-load stuff by calling do-after-load-evaluation.
17
1 2006-05-25 Nick Roberts <nickrob@snap.net.nz> 18 2006-05-25 Nick Roberts <nickrob@snap.net.nz>
2 19
3 * progmodes/gud.el (gud-sentinel): Condition on GUD buffer if it 20 * progmodes/gud.el (gud-sentinel): Condition on GUD buffer if it
4 has not been killed. 21 has not been killed.
5 22
923 (cal-tex-preamble): Use cal-tex-preamble-extra. 940 (cal-tex-preamble): Use cal-tex-preamble-extra.
924 (cal-tex-list-diary-entries): Refer to `diary-list-entries' rather 941 (cal-tex-list-diary-entries): Refer to `diary-list-entries' rather
925 than alias `list-diary-entries'. 942 than alias `list-diary-entries'.
926 943
927 2006-04-29 Dan Nicolaescu <dann@ics.uci.edu> 944 2006-04-29 Dan Nicolaescu <dann@ics.uci.edu>
928 945 >>>>>>> 1.9511
946
947 <<<<<<< ChangeLog
948 * jit-lock.el (jit-lock-function): Check jit-lock-defer-timer is
949 active before setting 'fontified to 'defer.
950 =======
929 * help-fns.el (describe-variable): Add info about safe local variables. 951 * help-fns.el (describe-variable): Add info about safe local variables.
930 952
931 2006-04-29 Richard Stallman <rms@gnu.org> 953 2006-04-29 Richard Stallman <rms@gnu.org>
932 954
933 * bindings.el (mode-line-format): help-echo doc fixes. 955 * bindings.el (mode-line-format): help-echo doc fixes.
2182 2204
2183 2006-03-18 Eli Zaretskii <eliz@gnu.org> 2205 2006-03-18 Eli Zaretskii <eliz@gnu.org>
2184 2206
2185 * term/w32-win.el (mouse-set-font): 2207 * term/w32-win.el (mouse-set-font):
2186 Mention w32-list-proportional-fonts in the doc string. 2208 Mention w32-list-proportional-fonts in the doc string.
2209 >>>>>>> 1.9511
2187 2210
2188 2006-03-18 Kim F. Storm <storm@cua.dk> 2211 2006-03-18 Kim F. Storm <storm@cua.dk>
2189 2212
2190 * ido.el (ido-cache-ftp-work-directory-time): Doc fix. 2213 * ido.el (ido-cache-ftp-work-directory-time): Doc fix.
2191 (ido-unc-hosts): New user option to explicitly define list of know 2214 (ido-unc-hosts): New user option to explicitly define list of know
2192 UNC-style hosts for completion. 2215 UNC-style hosts for completion.
2193 (ido-cache-unc-host-shares-time): New user option. 2216 (ido-cache-unc-host-shares-time): New user option.
2194 (ido-is-unc-root, ido-is-unc-host, ido-cache-unc-valid): 2217 (ido-is-unc-root, ido-is-unc-host, ido-cache-unc-valid): New
2195 New helper functions for UNC file-name support. 2218 helper functions for UNC file-name support.
2196 (ido-may-cache-directory): Check for UNC host. Simplify. 2219 (ido-may-cache-directory): Check for UNC host. Simplify.
2197 (ido-wash-history): Clean out old UNC hosts. 2220 (ido-wash-history): Clean out old UNC hosts.
2198 (ido-nonreadable-directory-p): UNC hosts are always readable. 2221 (ido-nonreadable-directory-p): UNC hosts are always readable.
2199 (ido-directory-too-big-p): UNC hosts are never too big. 2222 (ido-directory-too-big-p): UNC hosts are never too big.
2200 (ido-set-current-directory): Handle UNC root path. 2223 (ido-set-current-directory): Handle UNC root path.
2248 2271
2249 * progmodes/gdb-ui.el (gdb-inferior-status): New variable. 2272 * progmodes/gdb-ui.el (gdb-inferior-status): New variable.
2250 (gdb-force-mode-line-update): New function. 2273 (gdb-force-mode-line-update): New function.
2251 (gdb-resync, gdb-starting, gdb-signal, gdb-exited, gdb-stopped) 2274 (gdb-resync, gdb-starting, gdb-signal, gdb-exited, gdb-stopped)
2252 (gdb-exited): Use them. 2275 (gdb-exited): Use them.
2253 (gdb-signal): New function. 2276 (gdb-signal): New fuction.
2254 (gdb-annotation-rules): Provide a rule for it. 2277 (gdb-annotation-rules): Provide a rule for it.
2255 2278
2256 2006-03-16 Kenichi Handa <handa@m17n.org> 2279 2006-03-16 Kenichi Handa <handa@m17n.org>
2257 2280
2258 * international/mule.el (auto-coding-regexp-alist): Add entries 2281 * international/mule.el (auto-coding-regexp-alist): Add entries
2284 * progmodes/grep.el (font-lock-lines-before): Don't disable. 2307 * progmodes/grep.el (font-lock-lines-before): Don't disable.
2285 2308
2286 2006-03-15 Bill Wohler <wohler@newt.com> 2309 2006-03-15 Bill Wohler <wohler@newt.com>
2287 2310
2288 * image.el (image-load-path-for-library): Fix example by not 2311 * image.el (image-load-path-for-library): Fix example by not
2289 recommending that one binds image-load-path. Just defvar it to 2312 recommending that one binds image-load-path. Just defvar it to
2290 placate compiler and only use it if previously defined. 2313 placate compiler and only use it if previously defined.
2291 2314
2292 2006-03-15 Carsten Dominik <dominik@science.uva.nl> 2315 2006-03-15 Carsten Dominik <dominik@science.uva.nl>
2293 2316
2294 * textmodes/org.el (org-insert-centered): Use `string-width' to 2317 * textmodes/org.el (org-insert-centered): Use `string-width' to
2325 2348
2326 2006-03-15 Nick Roberts <nickrob@snap.net.nz> 2349 2006-03-15 Nick Roberts <nickrob@snap.net.nz>
2327 2350
2328 * progmodes/gdb-ui.el (gdb-var-list): Change order of first two 2351 * progmodes/gdb-ui.el (gdb-var-list): Change order of first two
2329 elements. 2352 elements.
2330 (gdb-find-watch-expression): Make it work for arrays too. 2353 (gdb-find-watch-expression): Make it work for arrays too. Follow
2331 Follow change to gdb-var-list. 2354 change to gdb-var-list.
2332 (gud-watch): Allow the user to enter variable name with a prexix 2355 (gud-watch): Allow the user to enter variable name with a prexix
2333 arg. Create keybindings. 2356 arg. Create keybindings.
2334 (gdb-var-create-handler, gdb-var-evaluate-expression-handler) 2357 (gdb-var-create-handler, gdb-var-evaluate-expression-handler)
2335 (gdb-var-list-children-handler, gdb-var-update-handler) 2358 (gdb-var-list-children-handler, gdb-var-update-handler)
2336 (gdb-var-delete, gdb-edit-value, gdb-speedbar-expand-node) 2359 (gdb-var-delete, gdb-edit-value, gdb-speedbar-expand-node)
2337 (gdb-var-list-children-handler-1, gdb-var-update-handler-1): 2360 (gdb-var-list-children-handler-1, gdb-var-update-handler-1):
2338 Follow change to gdb-var-list. 2361 Follow change to gdb-var-list.
2339 (gdb-starting): Don't show the overlay arrows when program is running. 2362 (gdb-starting): Don't show the overlay arrows when program is
2363 running.
2340 2364
2341 * progmodes/gud.el (gud-speedbar-buttons): Follow change to 2365 * progmodes/gud.el (gud-speedbar-buttons): Follow change to
2342 gdb-var-list. 2366 gdb-var-list.
2343 2367
2344 2006-03-14 Bill Wohler <wohler@newt.com> 2368 2006-03-14 Bill Wohler <wohler@newt.com>
2345 2369
2346 * image.el (image-load-path-for-library): Pass value of path 2370 * image.el (image-load-path-for-library): Pass value of path
2347 rather than symbol. Always return list of directories. 2371 rather than symbol. Always return list of directories. Guarantee
2348 Guarantee that image directory comes first. 2372 that image directory comes first.
2349 2373
2350 2006-03-14 Alan Mackenzie <acm@muc.de> 2374 2006-03-14 Alan Mackenzie <acm@muc.de>
2351 2375
2352 * font-core.el (font-lock-extend-region\(-function\)?.): 2376 * font-core.el: New function/variable
2353 New function/variable. 2377 font-lock-extend-region\(-function\)?.
2354 2378
2355 * font-lock.el (font-lock-after-change-function): 2379 * font-lock.el (font-lock-after-change-function): Call
2356 Call font-lock-extend-region. Obey font-lock-lines-before. 2380 font-lock-extend-region. Obey font-lock-lines-before.
2357 (font-lock-default-fontify-region): Remove reference to 2381 (font-lock-default-fontify-region): Remove reference to
2358 font-lock-lines-before. 2382 font-lock-lines-before.
2359 2383
2360 * jit-lock.el (jit-lock-after-change): 2384 * jit-lock.el (jit-lock-after-change): Call
2361 Call font-lock-extend-region. Obey font-lock-lines-before. 2385 font-lock-extend-region. Obey font-lock-lines-before.
2362 2386
2363 2006-03-14 David Ponce <david@dponce.com> 2387 2006-03-14 David Ponce <david@dponce.com>
2364 2388
2365 * tree-widget.el (tree-widget-themes-load-path) 2389 * tree-widget.el (tree-widget-themes-load-path)
2366 (tree-widget-themes-directory, tree-widget-theme): Doc fix. 2390 (tree-widget-themes-directory, tree-widget-theme): Doc fix.
2383 2407
2384 * tree-widget.el: Handle themes across all occurrences of the main 2408 * tree-widget.el: Handle themes across all occurrences of the main
2385 themes sub-directory found in tree-widget-themes-load-path. 2409 themes sub-directory found in tree-widget-themes-load-path.
2386 (tree-widget-themes-directory, tree-widget-theme): Doc fix. 2410 (tree-widget-themes-directory, tree-widget-theme): Doc fix.
2387 (tree-widget--locate-sub-directory): Return all occurrences. 2411 (tree-widget--locate-sub-directory): Return all occurrences.
2388 (tree-widget-themes-path): New function. 2412 (tree-widget-themes-path): New function. Replace
2389 Replace tree-widget-themes-directory, and return a list of directories. 2413 tree-widget-themes-directory, and return a list of directories.
2390 (tree-widget-set-parent-theme) 2414 (tree-widget-set-parent-theme)
2391 (tree-widget-lookup-image): Use it. 2415 (tree-widget-lookup-image): Use it.
2392 2416
2393 2006-03-13 Carsten Dominik <dominik@science.uva.nl> 2417 2006-03-13 Carsten Dominik <dominik@science.uva.nl>
2394 2418
2529 * help.el (view-lossage): Remove trailing whitespace before 2553 * help.el (view-lossage): Remove trailing whitespace before
2530 inserting "\n". 2554 inserting "\n".
2531 2555
2532 2006-03-07 Chong Yidong <cyd@stupidchicken.com> 2556 2006-03-07 Chong Yidong <cyd@stupidchicken.com>
2533 2557
2534 * files.el (hack-local-variables-confirm): 2558 * files.el (hack-local-variables-confirm): Set
2535 Set coding-system-for-read to nil before writing to .emacs. 2559 coding-system-for-read to nil before writing to .emacs.
2536 2560
2537 * arc-mode.el (archive-extract): Check if an existing buffer name 2561 * arc-mode.el (archive-extract): Check if an existing buffer name
2538 comes from a different archive. 2562 comes from a different archive.
2539 2563
2540 * help.el (describe-key-briefly): If KEY is a down event, read and 2564 * help.el (describe-key-briefly): If KEY is a down event, read and
2552 2576
2553 * help.el (describe-key): Remove leftover test code. 2577 * help.el (describe-key): Remove leftover test code.
2554 2578
2555 2006-03-07 Carsten Dominik <dominik@science.uva.nl> 2579 2006-03-07 Carsten Dominik <dominik@science.uva.nl>
2556 2580
2557 * textmodes/org.el: Move defvars out of eval-when-compile. 2581 * textmodes/org.el: Move defvars out of eval-when-compile. Use
2558 Use buffer-file-name variable. 2582 buffer-file-name variable.
2559 (org-agenda-file-to-end, org-agenda-file-to-front): Remove unused 2583 (org-agenda-file-to-end, org-agenda-file-to-front): Remove unused
2560 arg `file'. 2584 arg `file'.
2561 (org-level-faces): Remove startup dependency. 2585 (org-level-faces): Remove startup dependency.
2562 (org-cycle, org-map-tree, org-scan-tags) 2586 (org-cycle, org-map-tree, org-scan-tags)
2563 (org-remember-handler): Don't call `outline-level' directly. 2587 (org-remember-handler): Don't call `outline-level' directly.
2568 (org-cleaned-string-for-export, org-activate-target-links) 2592 (org-cleaned-string-for-export, org-activate-target-links)
2569 (org-make-target-link-regexp): Deal with empty radio target list. 2593 (org-make-target-link-regexp): Deal with empty radio target list.
2570 (org-tag): New face. 2594 (org-tag): New face.
2571 (org-get-level-face): New function. 2595 (org-get-level-face): New function.
2572 (org-set-font-lock-defaults): Simplify setup for headlines. 2596 (org-set-font-lock-defaults): Simplify setup for headlines.
2573 (org-complete): Pass common substring to `display-completion-list'. 2597 (org-complete): Pass common substring to
2598 `display-completion-list'.
2574 2599
2575 2006-03-06 David Ponce <david@dponce.com> 2600 2006-03-06 David Ponce <david@dponce.com>
2576 2601
2577 * tree-widget.el: Update Commentary header. 2602 * tree-widget.el: Update Commentary header.
2578 (tree-widget-theme-name): Ignore parent themes. 2603 (tree-widget-theme-name): Ignore parent themes.
2740 * speedbar.el: Re-instate comments about developing for speedbar 2765 * speedbar.el: Re-instate comments about developing for speedbar
2741 [this is what info and gdb-ui use even if better methods exist now]. 2766 [this is what info and gdb-ui use even if better methods exist now].
2742 2767
2743 * t-mouse.el: New file. 2768 * t-mouse.el: New file.
2744 (t-mouse-tty): Use with-temp-buffer. Add more terminal types. 2769 (t-mouse-tty): Use with-temp-buffer. Add more terminal types.
2745 (t-mouse-lispy-buffer-posn-from-coords): Remove. 2770 (t-mouse-lispy-buffer-posn-from-coords): Remove. Use the C
2746 (t-mouse-make-event-element): Use posn-at-x-y instead. 2771 primitive...
2772 (t-mouse-make-event-element): ...posn-at-x-y instead.
2747 (t-mouse-make-event): Deal with Fedora Core 3. 2773 (t-mouse-make-event): Deal with Fedora Core 3.
2748 (t-mouse-make-event): Don't sink the `stupid text mode menubar'. 2774 (t-mouse-make-event): Don't sink the `stupid text mode menubar'.
2749 (t-mouse-mouse-position-function): New function. Use it instead 2775 (t-mouse-mouse-position-function): New function. Use it instead
2750 of advising mouse-position. 2776 of advising mouse-position.
2751 (t-mouse-mode): New minor mode. 2777 (t-mouse-mode): New minor mode.
2774 2006-02-27 Carsten Dominik <dominik@science.uva.nl> 2800 2006-02-27 Carsten Dominik <dominik@science.uva.nl>
2775 2801
2776 * textmodes/reftex-index.el (reftex-index-map): Add `follow-mouse' 2802 * textmodes/reftex-index.el (reftex-index-map): Add `follow-mouse'
2777 binding. 2803 binding.
2778 2804
2779 * textmodes/reftex-toc.el (reftex-toc-map): Add `follow-mouse' binding. 2805 * textmodes/reftex-toc.el (reftex-toc-map): Add `follow-mouse'
2806 binding.
2780 2807
2781 * textmodes/reftex-sel.el (reftex-select-label-map) 2808 * textmodes/reftex-sel.el (reftex-select-label-map)
2782 (reftex-select-bib-map): Add `follow-mouse' binding. 2809 (reftex-select-bib-map): Add `follow-mouse' binding.
2783 2810
2784 2006-02-26 Luc Teirlinck <teirllm@auburn.edu> 2811 2006-02-26 Luc Teirlinck <teirllm@auburn.edu>
2953 (org-mhe-get-header, org-make-org-heading-search-string) 2980 (org-mhe-get-header, org-make-org-heading-search-string)
2954 (org-make-org-heading-camel, org-table-sort-lines) 2981 (org-make-org-heading-camel, org-table-sort-lines)
2955 (org-format-org-table-html, org-format-table-table-html): 2982 (org-format-org-table-html, org-format-table-table-html):
2956 Fix typos in docstrings. 2983 Fix typos in docstrings.
2957 2984
2958 2006-02-23 Carsten Dominik <dominik@science.uva.nl> 2985 12006-02-23 Carsten Dominik <dominik@science.uva.nl>
2959 2986
2960 * textmodes/org.el (org-cleaned-string-for-export) 2987 * textmodes/org.el (org-cleaned-string-for-export)
2961 (org-solidify-link-text): New function. 2988 (org-solidify-link-text): New function.
2962 (org-add-hook): Use `add-local-hook' instead of `make-local-hook' for 2989 (org-add-hook): Use `add-local-hook' instead of `make-local-hook' for
2963 XEmacs, just to silence the compiler. 2990 XEmacs, just to silence the compiler.
4251 * vc.el (vc-default-dired-state-info): Pass FILE to 4278 * vc.el (vc-default-dired-state-info): Pass FILE to
4252 vc-user-login-name. 4279 vc-user-login-name.
4253 (vc-default-update-changelog): Don't use vc-user-login-name, we 4280 (vc-default-update-changelog): Don't use vc-user-login-name, we
4254 don't need it here. 4281 don't need it here.
4255 4282
4256 * net/tramp-vc.el (vc-user-login-name): Comment out defadvice, it is 4283 * tramp-vc.el (vc-user-login-name): Comment out defadvice, it is
4257 no longer necessary. 4284 no longer necessary.
4258 4285
4259 2006-01-25 Kenichi Handa <handa@m17n.org> 4286 2006-01-25 Kenichi Handa <handa@m17n.org>
4260 4287
4261 * international/mule.el (decode-char): Avoid the overhead of 4288 * international/mule.el (decode-char): Avoid the overhead of
5748 * menu-bar.el (menu-bar-menu-frame-live-and-visible-p) 5775 * menu-bar.el (menu-bar-menu-frame-live-and-visible-p)
5749 (menu-bar-non-minibuffer-window-p): Instead of checking 5776 (menu-bar-non-minibuffer-window-p): Instead of checking
5750 display-multi-frame-p, use selected-frame when menu-updating-frame 5777 display-multi-frame-p, use selected-frame when menu-updating-frame
5751 is nil. 5778 is nil.
5752 5779
5753 2005-12-20 Stuart Herring <herring@lanl.gov> (tiny change) 5780 2005-12-20 Davis Herring <herring@lanl.gov> (tiny change)
5754 5781
5755 * align.el (align-rules-list): Use [ \t] instead of \s- 5782 * align.el (align-rules-list): Use [ \t] instead of \s-
5756 for column separators in text mode. 5783 for column separators in text mode.
5757 5784
5758 2005-12-20 Nick Roberts <nickrob@snap.net.nz> 5785 2005-12-20 Nick Roberts <nickrob@snap.net.nz>
6352 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 6379 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
6353 6380
6354 CC Mode update to 5.31. 6381 CC Mode update to 5.31.
6355 6382
6356 * progmodes/cc-subword.el: Add a dummy `c-subword-mode' for 6383 * progmodes/cc-subword.el: Add a dummy `c-subword-mode' for
6357 Emacsen which lack `define-minor-mode'. (Currently Emacs <21. 6384 Emacsen which lack `define-minor-mode'. (Currently Emacs <21. We
6358 We might do this function properly in the future). 6385 might do this function properly in the future).
6359 6386
6360 * progmodes/cc-cmds.el, cc-defs.el, cc-styles.el, cc-vars.el: 6387 * progmodes/cc-cmds.el, cc-defs.el, cc-styles.el, cc-vars.el: New
6361 New macros c-sentence-end and c-default-value-sentence end, to cope 6388 macros c-sentence-end and c-default-value-sentence end, to cope
6362 with Emacs 22's new function `sentence-end'. 6389 with Emacs 22's new function `sentence-end'.
6363 6390
6364 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 6391 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
6365 6392
6366 * progmodes/cc-cmds.el (c-show-syntactic-information): Solve the 6393 * progmodes/cc-cmds.el (c-show-syntactic-information): Solved the
6367 compat issue using `c-put-overlay' and `c-delete-overlay'. 6394 compat issue using `c-put-overlay' and `c-delete-overlay'.
6368 6395
6369 * progmodes/cc-defs.el (c-put-overlay, c-delete-overlay): 6396 * progmodes/cc-defs.el (c-put-overlay, c-delete-overlay): New
6370 New compat macros to handle overlays/extents. 6397 compat macros to handle overlays/extents.
6371 6398
6372 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 6399 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
6373 6400
6374 * progmodes/cc-fix.el: Add definitions of the macros push and pop 6401 * progmodes/cc-fix.el: Add definitions of the macros push and pop
6375 (for GNU Emacs 20.4) 6402 (for GNU Emacs 20.4)
6386 call to the new macro c-int-to-char. This solves XEmacs's 6413 call to the new macro c-int-to-char. This solves XEmacs's
6387 regarding characters as different from integers. 6414 regarding characters as different from integers.
6388 6415
6389 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 6416 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
6390 6417
6391 * progmodes/cc-fonts.el (c-make-syntactic-matcher): 6418 * progmodes/cc-fonts.el (c-make-syntactic-matcher): New internal
6392 New internal helper. 6419 helper.
6393 6420
6394 (c-cpp-matchers, c-basic-matchers-before): Use the `eval' 6421 (c-cpp-matchers, c-basic-matchers-before): Use the `eval'
6395 construct to make the indirect face lookup work in XEmacs. 6422 construct to make the indirect face lookup work in XEmacs.
6396 6423
6397 (c-cpp-matchers): Append the negation char face to the existing 6424 (c-cpp-matchers): Append the negation char face to the existing
6398 fontification, so that the cpp face doesn't disappear. 6425 fontification, so that the cpp face doesn't disappear. Use
6399 Use `c-make-syntactic-matcher' to avoid negation chars in comments 6426 `c-make-syntactic-matcher' to avoid negation chars in comments and
6400 and strings. 6427 strings.
6401 6428
6402 * progmodes/cc-fonts.el (c-negation-char-face-name): New variable 6429 * progmodes/cc-fonts.el (c-negation-char-face-name): New variable
6403 to map to `font-lock-negation-char-face' in emacsen where it exists. 6430 to map to `font-lock-negation-char-face' in emacsen where it
6431 exists.
6404 6432
6405 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 6433 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
6406 6434
6407 * progmodes/cc-mode.el: Bind c-subword-mode to C-c C-w. 6435 * progmodes/cc-mode.el: Bind c-subword-mode to C-c C-w.
6408 6436
6421 6449
6422 * progmodes/cc-mode.el: 6450 * progmodes/cc-mode.el:
6423 (i) Insert a binding for C-c C-backspace into 6451 (i) Insert a binding for C-c C-backspace into
6424 c-bind-special-erase-keys which works in TTYs. 6452 c-bind-special-erase-keys which works in TTYs.
6425 (ii) Make sure that when file styles are used, any explicitly 6453 (ii) Make sure that when file styles are used, any explicitly
6426 given style variables take priority over those in the style. 6454 given style variables take priority over those in the style. Do
6427 Do this by calling `hack-local-variables' a second time. 6455 this by calling `hack-local-variables' a second time.
6428 6456
6429 * progmodes/cc-vars.el: Add language specific customization 6457 * progmodes/cc-vars.el: Add language specific customization
6430 widgets for AWK to c-doc-comment-style, c-require-final-newline 6458 widgets for AWK to c-doc-comment-style, c-require-final-newline
6431 and c-default-style. Add a defcustom for awk-mode-hook. 6459 and c-default-style. Add a defcustom for awk-mode-hook. Give
6432 Give c-syntactic-element and c-syntactic-context doc-strings by 6460 c-syntactic-element and c-syntactic-context doc-strings by
6433 directly setting their `variable-documentation' propery. 6461 directly setting their `variable-documentation' propery. This
6434 This allows Emacs 22.1 to read these with C-h v. 6462 allows Emacs 22.1 to read these with C-h v.
6435 6463
6436 * progmodes/cc-awk.el: Apply a tidy-up patch (from Stefan Monnier). 6464 * progmodes/cc-awk.el: Apply a tidy-up patch (from Stefan
6465 Monnier).
6437 6466
6438 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 6467 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
6439 6468
6440 * progmodes/cc-fonts.el, cc-vars.el 6469 * progmodes/cc-fonts.el, cc-vars.el
6441 (gtkdoc-font-lock-doc-comments, gtkdoc-font-lock-doc-protection) 6470 (gtkdoc-font-lock-doc-comments, gtkdoc-font-lock-doc-protection)
6457 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 6486 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
6458 6487
6459 * progmodes/cc-mode.el: Give c-hungry-backspace and 6488 * progmodes/cc-mode.el: Give c-hungry-backspace and
6460 c-hungry-delete-forward permanent key bindings. 6489 c-hungry-delete-forward permanent key bindings.
6461 6490
6462 * progmodes/cc-cmds.el (c-electric-semi&comma): 6491 * progmodes/cc-cmds.el (c-electric-semi&comma): Bind
6463 Bind c-syntactic-context for calls to "criteria functions", for 6492 c-syntactic-context for calls to "criteria functions", for
6464 consistency with other calls to user functions. 6493 consistency with other calls to user functions.
6465 6494
6466 * progmodes/cc-cmds.el (c-indent-command): Expunge use of 6495 * progmodes/cc-cmds.el (c-indent-command): Expunge use of
6467 `current-prefix-arg', since this might be the prefix arg to a 6496 `current-prefix-arg', since this might be the prefix arg to a
6468 command which calls c-indent-command as a function. Change the 6497 command which calls c-indent-command as a function. Change the
6472 reponse to a report from Joseph Kiniry <kiniry@acm.org> that it 6501 reponse to a report from Joseph Kiniry <kiniry@acm.org> that it
6473 was difficult to understand. 6502 was difficult to understand.
6474 6503
6475 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 6504 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
6476 6505
6477 * progmodes/cc-engine.el (c-on-identifier): Fix bug when at the 6506 * progmodes/cc-engine.el (c-on-identifier): Fixed bug when at the
6478 first char of an identifier. 6507 first char of an identifier.
6479 6508
6480 * progmodes/cc-engine.el (c-on-identifier): Handle the "operator 6509 * progmodes/cc-engine.el (c-on-identifier): Handle the "operator
6481 +" syntax in C++. 6510 +" syntax in C++.
6482 6511
6497 second line. 6526 second line.
6498 6527
6499 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 6528 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
6500 6529
6501 * progmodes/cc-fonts.el (c-cpp-matchers, c-basic-matchers-before): 6530 * progmodes/cc-fonts.el (c-cpp-matchers, c-basic-matchers-before):
6502 Incorporate the patterns added in the Emacs development branch 6531 Incorporated the patterns added in the Emacs development branch
6503 for the new Emacs 22 face `font-lock-negation-char-face'. 6532 for the new Emacs 22 face `font-lock-negation-char-face'.
6504 6533
6505 * progmodes/cc-fonts.el (c-invalid-face-name): Use "red1" instead 6534 * progmodes/cc-fonts.el (c-invalid-face-name): Use "red1" instead
6506 of "red" since it stands out better in xterms and DOS terminals. 6535 of "red" since it stands out better in xterms and DOS terminals.
6507 6536
6508 * progmodes/cc-engine.el (c-literal-faces): 6537 * progmodes/cc-engine.el (c-literal-faces): Added
6509 Add `font-lock-comment-delimiter-face' which is new in Emacs 22. 6538 `font-lock-comment-delimiter-face' which is new in Emacs 22.
6510 6539
6511 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 6540 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
6512 6541
6513 * progmodes/cc-cmds.el: Make C-c C-a (`c-toggle-auto-newline') 6542 * progmodes/cc-cmds.el: Make C-c C-a (`c-toggle-auto-newline')
6514 forcibly enable c-electric-flag. 6543 forcibly enable c-electric-flag.
6515 6544
6516 * progmodes/cc-vars.el, cc-cmds.el: New clean-up 6545 * progmodes/cc-vars.el, cc-cmds.el: New clean-up
6517 `comment-close-slash' on c-electric-slash: if enabled, typing `/' just 6546 `comment-close-slash' on c-electric-slash: if enabled, typing `/'
6518 after the comment-prefix of a C-style comment will close that comment. 6547 just after the comment-prefix of a C-style comment will close that
6548 comment.
6519 6549
6520 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 6550 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
6521 6551
6522 * progmodes/cc-fonts.el (c-basic-matchers-before) 6552 * progmodes/cc-fonts.el (c-basic-matchers-before)
6523 (c-complex-decl-matchers): Fix the "not-arrow-prefix" regexp used 6553 (c-complex-decl-matchers): Fixed the "not-arrow-prefix" regexp used
6524 in Pike. 6554 in Pike.
6525 6555
6526 * progmodes/cc-langs.el (c-other-op-syntax-tokens): Only C++ has 6556 * progmodes/cc-langs.el (c-other-op-syntax-tokens): Only C++ has
6527 digraphs. 6557 digraphs.
6528 6558
6529 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el 6559 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el
6530 (c-cpp-message-directives, c-cpp-include-directives) 6560 (c-cpp-message-directives, c-cpp-include-directives)
6531 (c-opt-cpp-macro-define, c-opt-cpp-macro-define-start) 6561 (c-opt-cpp-macro-define, c-opt-cpp-macro-define-start)
6532 (c-cpp-expr-directives): Introduce new language constants to 6562 (c-cpp-expr-directives): Introduced new language constants to
6533 control cpp syntax in a cleaner way. 6563 control cpp syntax in a cleaner way.
6534 6564
6535 (c-cpp-expr-functions): Rename from c-cpp-defined-fns. 6565 (c-cpp-expr-functions): Renamed from c-cpp-defined-fns.
6536 6566
6537 (c-cpp-matchers, c-forward-to-cpp-define-body): Use them. 6567 (c-cpp-matchers, c-forward-to-cpp-define-body): Use them.
6538 6568
6539 * progmodes/cc-langs.el, cc-fonts.el (c-string-escaped-newlines) 6569 * progmodes/cc-langs.el, cc-fonts.el (c-string-escaped-newlines)
6540 (c-multiline-string-start-char): New language constants and 6570 (c-multiline-string-start-char): New language constants and
6562 6592
6563 (c-lineup-topmost-intro-cont, c-just-after-func-arglist-p) 6593 (c-lineup-topmost-intro-cont, c-just-after-func-arglist-p)
6564 (c-guess-basic-syntax): Handle C++ operator identifiers in 6594 (c-guess-basic-syntax): Handle C++ operator identifiers in
6565 declarations. 6595 declarations.
6566 6596
6567 * progmodes/cc-langs.el (c-assignment-operators): Add the 6597 * progmodes/cc-langs.el (c-assignment-operators): Added the
6568 trigraph version of ^= too. 6598 trigraph version of ^= too.
6569 6599
6570 * progmodes/cc-langs.el (c-assignment-operators): Add the 6600 * progmodes/cc-langs.el (c-assignment-operators): Added the
6571 trigraph version of |= in C++. 6601 trigraph version of |= in C++.
6572 6602
6573 * progmodes/cc-fonts.el (c-font-lock-declarators): 6603 * progmodes/cc-fonts.el (c-font-lock-declarators): Handle
6574 Handle `c-decl-hangon-kwds' after the identifier name. 6604 `c-decl-hangon-kwds' after the identifier name.
6575 6605
6576 * progmodes/cc-engine.el (c-guess-basic-syntax): When deciding 6606 * progmodes/cc-engine.el (c-guess-basic-syntax): When deciding
6577 whether an arglist is "nonempty", ignore a comment after the open 6607 whether an arglist is "nonempty", ignore a comment after the open
6578 paren if it isn't followed by a non-comment token on the same line. 6608 paren if it isn't followed by a non-comment token on the same
6579 6609 line.
6580 * progmodes/cc-engine.el (c-guess-basic-syntax): Case 4: 6610
6581 Enable heuristics below the point to cope with classes inside special 6611 * progmodes/cc-engine.el (c-guess-basic-syntax): Case 4: Enable
6612 heuristics below the point to cope with classes inside special
6582 brace lists in Pike. 6613 brace lists in Pike.
6583 6614
6584 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 6615 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
6585 6616
6586 * progmodes/cc-cmds.el: Amend c-point-syntax to handle macros. 6617 * progmodes/cc-cmds.el: Amend c-point-syntax to handle macros.
6615 * progmodes/cc-vars.el: Make c-syntactic-indentation buffer local. 6646 * progmodes/cc-vars.el: Make c-syntactic-indentation buffer local.
6616 6647
6617 * progmodes/cc-cmds.el: Add `c-bytecomp-defun's for 6648 * progmodes/cc-cmds.el: Add `c-bytecomp-defun's for
6618 c-\(forward\|backward\)-subword. 6649 c-\(forward\|backward\)-subword.
6619 (c-update-modeline): Add the new modeline flag `l' for 6650 (c-update-modeline): Add the new modeline flag `l' for
6620 `c-electric-flag'. Make the auto-newline flag `a' dependent on `l'. 6651 `c-electric-flag'. Make the auto-newline flag `a' dependent on
6621 (c-toggle-auto-state): Rename it to `c-toggle-auto-newline'. 6652 `l'.
6622 Make the old name an alias of the new name. 6653 (c-toggle-auto-state): Rename it to `c-toggle-auto-newline'. Make
6654 the old name an alias of the new name.
6623 (c-toggle-electric-state): New function. 6655 (c-toggle-electric-state): New function.
6624 (c-electric-\(pound\|brace\|slash\|star\|semi&comma\|colon\|lt-gt\|paren\|continued-statement\)): 6656 c-electric-\(pound\|brace\|slash\|star\|semi&comma\|colon\|lt-gt\|paren\|continued-statement\):
6625 Adapt these functions to do electric things only when 6657 Adapt these functions to do electric things only when
6626 c-electric-flag is non-nil. 6658 c-electric-flag is non-nil.
6627 (c-point-syntax, c-brace-newlines, c-try-oneliner): Extract these 6659 (c-point-syntax, c-brace-newlines, c-try-oneliner): Extract these
6628 new functions from c-electric-brace. 6660 new functions from c-electric-brace.
6629 (c-point-syntax): Add a check for "virtual semicolons" in AWK 6661 (c-point-syntax): Add a check for "virtual semicolons" in AWK
6635 restructure a bit. 6667 restructure a bit.
6636 6668
6637 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 6669 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
6638 6670
6639 * progmodes/cc-cmds.el (c-show-syntactic-information): Show the 6671 * progmodes/cc-cmds.el (c-show-syntactic-information): Show the
6640 anchor position(s) using faces. Thanks to Masatake YAMATO for the idea. 6672 anchor position(s) using faces. Thanks to Masatake YAMATO for the
6673 idea.
6641 6674
6642 * progmodes/cc-mode.el, cc-cmds.el, cc-defs.el, cc-engine.el 6675 * progmodes/cc-mode.el, cc-cmds.el, cc-defs.el, cc-engine.el
6643 (c-submode-indicators): Change name from `c-auto-hungry-string' 6676 (c-submode-indicators): Changed name from `c-auto-hungry-string'
6644 since it's now used to track another submode. 6677 since it's now used to track another submode.
6645 6678
6646 (c-update-modeline): Convert to function and extended to check 6679 (c-update-modeline): Converted to function and extended to check
6647 `c-subword-move-mode'. 6680 `c-subword-move-mode'.
6648 6681
6649 (c-forward-into-nomenclature, c-backward-into-nomenclature): 6682 (c-forward-into-nomenclature, c-backward-into-nomenclature):
6650 Convert to compat aliases for `c-forward-subword' and 6683 Converted to compat aliases for `c-forward-subword' and
6651 `c-backward-subword'. 6684 `c-backward-subword'.
6652 6685
6653 * progmodes/cc-subword.el: New functions and minor mode to handle 6686 * progmodes/cc-subword.el: New functions and minor mode to handle
6654 SillyCapsedStyleIndentifiers, contributed by Masatake YAMATO: 6687 SillyCapsedStyleIndentifiers, contributed by Masatake YAMATO:
6655 6688
6688 c-max-one-liner-length. In c-default-style, set the default style 6721 c-max-one-liner-length. In c-default-style, set the default style
6689 for AWK to "awk". 6722 for AWK to "awk".
6690 6723
6691 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 6724 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
6692 6725
6693 * progmodes/cc-engine.el (c-forward-label): Fix fontification of 6726 * progmodes/cc-engine.el (c-forward-label): Fixed fontification of
6694 macros inside labels. 6727 macros inside labels.
6695 6728
6696 * progmodes/cc-engine.el (c-looking-at-bos): Obsolete in favor of 6729 * progmodes/cc-engine.el (c-looking-at-bos): Obsoleted in favor of
6697 `c-at-statement-start-p' and `c-at-expression-start-p'. 6730 `c-at-statement-start-p' and `c-at-expression-start-p'.
6698 6731
6699 * progmodes/cc-defs.el (c-tnt-chng-record-state): Don't signal an 6732 * progmodes/cc-defs.el (c-tnt-chng-record-state): Don't signal an
6700 error if the mark isn't set. 6733 error if the mark isn't set.
6701 6734
6705 6738
6706 * progmodes/cc-engine.el (c-at-expression-start-p): New function 6739 * progmodes/cc-engine.el (c-at-expression-start-p): New function
6707 like `c-at-statement-start-p' that additionally recognizes commas 6740 like `c-at-statement-start-p' that additionally recognizes commas
6708 and expression parentheses as delimiters. 6741 and expression parentheses as delimiters.
6709 6742
6710 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Add flag 6743 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Added flag
6711 to avoid heuristics that doesn't work for unclosed blocks. 6744 to avoid heuristics that doesn't work for unclosed blocks.
6745
6712 (c-at-statement-start-p): New function. 6746 (c-at-statement-start-p): New function.
6713 6747
6714 * progmodes/cc-engine.el, cc-fonts.el: Fixes in handling of 6748 * progmodes/cc-engine.el, cc-fonts.el: Fixes in handling of
6715 Objective-C directives, e.g. directives spanning lines should work 6749 Objective-C directives, e.g. directives spanning lines should work
6716 reasonably well now. 6750 reasonably well now.
6721 directive. 6755 directive.
6722 6756
6723 (c-just-after-func-arglist-p, c-guess-basic-syntax) 6757 (c-just-after-func-arglist-p, c-guess-basic-syntax)
6724 (c-basic-matchers-before): Use it. 6758 (c-basic-matchers-before): Use it.
6725 6759
6726 (c-font-lock-objc-iip-decl): Remove. 6760 (c-font-lock-objc-iip-decl): Removed.
6727 6761
6728 * progmodes/cc-engine.el (c-guess-basic-syntax): Some improvement 6762 * progmodes/cc-engine.el (c-guess-basic-syntax): Some improvement
6729 in the template arglist recognition. 6763 in the template arglist recognition.
6730 6764
6731 * progmodes/cc-styles.el (c-style-alist): Fix several 6765 * progmodes/cc-styles.el (c-style-alist): Fixed several
6732 inconsistencies in the Whitesmith style. 6766 inconsistencies in the Whitesmith style.
6733 6767
6734 * progmodes/cc-align.el (c-lineup-after-whitesmith-blocks): 6768 * progmodes/cc-align.el (c-lineup-after-whitesmith-blocks):
6735 New lineup function to get lines after Whitesmith style blocks 6769 New lineup function to get lines after Whitesmith style blocks
6736 correctly indented. 6770 correctly indented.
6737 6771
6738 (c-lineup-whitesmith-in-block): Back out the compensation for 6772 (c-lineup-whitesmith-in-block): Backed out the compensation for
6739 opening parens since it's done using `add' lists in the style 6773 opening parens since it's done using `add' lists in the style
6740 definition instead. Don't use the anchor position since it varies 6774 definition instead. Don't use the anchor position since it varies
6741 too much between the syntactic symbols. :P 6775 too much between the syntactic symbols. :P
6742 6776
6743 * progmodes/cc-vars.el (c-valid-offset): Update. 6777 * progmodes/cc-vars.el (c-valid-offset): Updated.
6744 6778
6745 * progmodes/cc-engine.el (c-evaluate-offset): Extend to handle 6779 * progmodes/cc-engine.el (c-evaluate-offset): Extended to handle
6746 lists where the offsets are combined according to several 6780 lists where the offsets are combined according to several
6747 different methods: `first', `min', `max', and `add'. 6781 different methods: `first', `min', `max', and `add'. Report
6748 Report offset evaluation errors with `c-benign-error' so that some kind 6782 offset evaluation errors with `c-benign-error' so that some kind
6749 of reindentation still is done. 6783 of reindentation still is done.
6750 6784
6751 * progmodes/cc-engine.el (c-guess-basic-syntax): 6785 * progmodes/cc-engine.el (c-guess-basic-syntax): Anchor
6752 Anchor `arglist-intro' the same way as `arglist-cont-nonempty' and 6786 `arglist-intro' the same way as `arglist-cont-nonempty' and
6753 `arglist-close'. 6787 `arglist-close'.
6754 6788
6755 * progmodes/cc-engine.el (c-guess-basic-syntax): Fix similar 6789 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed similar
6756 situations for `arglist-cont-nonempty' and `arglist-close'. 6790 situations for `arglist-cont-nonempty' and `arglist-close'.
6757 6791
6758 * progmodes/cc-langs.el (c-opt-identifier-concat-key-depth): New const. 6792 * progmodes/cc-langs.el (c-opt-identifier-concat-key-depth): New
6793 constant.
6759 6794
6760 * progmodes/cc-defs.el: Use `cc-bytecomp-fboundp' and 6795 * progmodes/cc-defs.el: Use `cc-bytecomp-fboundp' and
6761 cc-bytecomp-boundp' in a number of places. 6796 cc-bytecomp-boundp' in a number of places.
6762 6797
6763 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fix a 6798 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed a
6764 macro related issue. 6799 macro related issue.
6765 6800
6766 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 6801 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
6767 6802
6768 * progmodes/cc-awk.el: Change the terminology of regexps: A char 6803 * progmodes/cc-awk.el: Change the terminology of regexps: A char
6769 list is now [asdf], a char class [:alpha:]. 6804 list is now [asdf], a char class [:alpha:]. Include code for char
6770 Include code for char classes. 6805 classes. Set c-awk-NL-prop on lines ending in open strings. (Bug
6771 Set c-awk-NL-prop on lines ending in open strings. (Bug fix.) 6806 fix.) Add character classes (e.g. "[:alpha:]") into AWK Mode's
6772 Add character classes (e.g. "[:alpha:]") into AWK Mode's regexps. 6807 regexps.
6773 6808
6774 Remove (nearly all of) the cruft associated with AWK Mode's former 6809 Remove (nearly all of) the cruft associated with AWK Mode's former
6775 concept of "virtual semicolons": 6810 concept of "virtual semicolons":
6776 6811
6777 Adapt c-beginning-of-statement, c-end-of-statement (together with 6812 Adapt c-beginning-of-statement, c-end-of-statement (together with
6806 outside it (could happen e.g. when fontifying a line with an 6841 outside it (could happen e.g. when fontifying a line with an
6807 unfinished declaration). 6842 unfinished declaration).
6808 6843
6809 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 6844 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
6810 6845
6811 * progmodes/cc-awk.el: Move regexps for analysing AWK code to near the 6846 * progmodes/cc-awk.el: Regexps for analysing AWK code have been
6812 start of the file. ^L now separate sections of the file. 6847 moved to near the start of the file. ^L now separate sections of
6813 (c-awk-non-eol-esc-pair-re, c-awk-blank-or-comment-line-re) 6848 the file. New defconsts: c-awk-non-eol-esc-pair-re,
6814 (c-awk-one-line-possibly-open-string-re) 6849 c-awk-blank-or-comment-line-re,
6815 (c-awk-regexp-one-line-possibly-open-char-class-re) 6850 c-awk-one-line-possibly-open-string-re,
6816 (c-awk-one-line-possibly-open-regexp-re) 6851 c-awk-regexp-one-line-possibly-open-char-class-re,
6817 (c-awk-one-line-non-syn-ws*-re): New defonsts. 6852 c-awk-one-line-possibly-open-regexp-re,
6818 (c-awk-at-vsemi-p, c-awk-vsemi-status-unknown-p): New functions. 6853 c-awk-one-line-non-syn-ws*-re. New functions: c-awk-at-vsemi-p,
6854 c-awk-vsemi-status-unknown-p.
6819 6855
6820 Amend the concept of "virtual semicolons" (in the indentation 6856 Amend the concept of "virtual semicolons" (in the indentation
6821 engine) for languages like AWK, such that they are now 6857 engine) for languages like AWK, such that they are now
6822 conceptually attached to end of the last token of a statement, not 6858 conceptually attached to end of the last token of a statement, not
6823 the end of the line. (In AWK Mode, however, the pertinent text 6859 the end of the line. (In AWK Mode, however, the pertinent text
6824 property is still physically set on the EOL.) Remove the specific 6860 property is still physically set on the EOL.) Remove the specific
6825 tests for awk-mode, thus facilitating the introduction of other 6861 tests for awk-mode, thus facilitating the introduction of other
6826 language modes where EOLs can end statements. 6862 language modes where EOLs can end statements. (Note: The
6827 (Note: The funtionality in cc-cmds.el, specifically 6863 funtionality in cc-cmds.el, specifically
6828 c-beginning/end-of-statement has yet to be amended.) 6864 c-beginning/end-of-statement has yet to be amended.)
6829 6865
6830 * progmodes/cc-defs.el (c-at-vsemi-p, c-vsemi-status-unknown-p): 6866 * progmodes/cc-defs.el: New macros c-at-vsemi-p,
6831 New macros. 6867 c-vsemi-status-unknown-p.
6832 6868
6833 * progmodes/cc-langs.el: Added `#' into AWK Mode's value of 6869 * progmodes/cc-langs.el: Added `#' into AWK Mode's value of
6834 c-stmt-delim-chars. New c-lang-defvars: c-at-vsemi-p-fn, 6870 c-stmt-delim-chars. New c-lang-defvars: c-at-vsemi-p-fn,
6835 c-vsemi-status-unknown-p-fn (in a new page). 6871 c-vsemi-status-unknown-p-fn (in a new page).
6836 6872
6837 * progmodes/cc-engine.el: In c-beginning-of-statement-1, 6873 * progmodes/cc-engine.el: In c-beginning-of-statement-1,
6838 c-crosses-statement-barrier-p, c-guess-basic-syntax, replace 6874 c-crosses-statement-barrier-p, c-guess-basic-syntax, replace
6839 numerous awkward forms like 6875 numerous awkward forms like
6840 (if (c-major-mode-is 'awk-mode) (c-awk-prev-line-incomplete-p)) 6876 (if (c-major-mode-is 'awk-mode) (c-awk-prev-line-incomplete-p))
6841 with (c-at-vsemi-p). Fix a few typos. In c-guess-basic-syntax, new 6877 with
6842 variable before-ws-ip, the place just after char-before-ip appears. 6878 (c-at-vsemi-p). Fix a few typos. In c-guess-basic-syntax, new
6879 variable before-ws-ip, the place just after char-before-ip
6880 appears.
6843 6881
6844 * progmodes/cc-mode.el: Fix what's almost a semantic ambiguity in 6882 * progmodes/cc-mode.el: Fix what's almost a semantic ambiguity in
6845 a comment. 6883 a comment.
6846 6884
6847 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 6885 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
6848 6886
6849 * progmodes/cc-cmds.el (c-electric-brace): Clean up using 6887 * progmodes/cc-cmds.el (c-electric-brace): Cleaned up using
6850 `c-tentative-buffer-changes'. 6888 `c-tentative-buffer-changes'.
6851 6889
6852 * progmodes/cc-defs.el (c-region-is-active-p): Simplify and 6890 * progmodes/cc-defs.el (c-region-is-active-p): Simplified and
6853 convert to macro to choose between Emacs and XEmacs at compile time. 6891 converted to macro to choose between Emacs and XEmacs at compile
6854 6892 time.
6855 (c-set-region-active): New set counterpart to `c-region-is-active-p'. 6893
6894 (c-set-region-active): New set counterpart to
6895 `c-region-is-active-p'.
6856 6896
6857 (c-tentative-buffer-changes): New macro to handle temporary buffer 6897 (c-tentative-buffer-changes): New macro to handle temporary buffer
6858 changes in a convenient way. 6898 changes in a convenient way.
6859 6899
6860 (c-tnt-chng-record-state, c-tnt-chng-cleanup): Internal helpers 6900 (c-tnt-chng-record-state, c-tnt-chng-cleanup): Internal helpers
6861 for `c-tentative-buffer-changes'. 6901 for `c-tentative-buffer-changes'.
6862 6902
6863 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Tighten up 6903 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Tightened up
6864 the checks for paren sexps between the point and the keyword, to 6904 the checks for paren sexps between the point and the keyword, to
6865 avoid some false alarms. 6905 avoid some false alarms.
6866 6906
6867 * progmodes/cc-engine.el, cc-langs.el (c-looking-at-inexpr-block): 6907 * progmodes/cc-engine.el, cc-langs.el (c-looking-at-inexpr-block):
6868 Fixed a situation where an error could be thrown for unbalanced 6908 Fixed a situation where an error could be thrown for unbalanced
6869 parens. Changed to make use of c-keyword-member' to avoid some 6909 parens. Changed to make use of c-keyword-member' to avoid some
6870 repeated regexp matches. 6910 repeated regexp matches.
6871 6911
6872 (c-opt-lambda-key, c-opt-inexpr-block-key, c-opt-inexpr-class-key): 6912 (c-opt-lambda-key, c-opt-inexpr-block-key,
6873 These language variable are no longer necessary. 6913 c-opt-inexpr-class-key): These language variable are no longer
6914 necessary.
6874 6915
6875 (c-block-stmt-kwds): New language constant used by 6916 (c-block-stmt-kwds): New language constant used by
6876 c-looking-at-inexpr-block'. 6917 c-looking-at-inexpr-block'.
6877 6918
6878 (c-guess-basic-syntax): Remove an optional check that looked at 6919 (c-guess-basic-syntax): Removed an optional check that looked at
6879 the existence of the now removed language variables. 6920 the existence of the now removed language variables.
6880 6921
6881 * progmodes/cc-engine.el (c-fdoc-shift-type-backward) 6922 * progmodes/cc-engine.el (c-fdoc-shift-type-backward,
6882 (c-forward-decl-or-cast-1): Fix invalid recognition of C++ style 6923 c-forward-decl-or-cast-1): Fixed invalid recognition of C++ style
6883 object instantiation expressions as declarations in some contexts. 6924 object instantiation expressions as declarations in some contexts.
6884 This bug only affected languages where the declarator can't be 6925 This bug only affected languages where the declarator can't be
6885 enclosed in parentheses. 6926 enclosed in parentheses.
6886 6927
6887 * progmodes/cc-styles.el (c-style-alist): Fix the GNU style to 6928 * progmodes/cc-styles.el (c-style-alist): Fixed the GNU style to
6888 insert newlines before and after substatement braces. 6929 insert newlines before and after substatement braces.
6889 6930
6890 * progmodes/cc-engine.el: Improved the heuristics for recognizing 6931 * progmodes/cc-engine.el: Improved the heuristics for recognizing
6891 function declaration headers and the handling of C++ style member 6932 function declaration headers and the handling of C++ style member
6892 init lists. 6933 init lists.
6893 6934
6894 (c-just-after-func-arglist-p): Rewritten to use 6935 (c-just-after-func-arglist-p): Rewritten to use
6895 `c-forward-decl-or-cast-1'. Now behaves a bit differently too. 6936 `c-forward-decl-or-cast-1'. Now behaves a bit differently too.
6896 6937
6897 (c-beginning-of-member-init-list): Remove since it isn't used anymore. 6938 (c-beginning-of-member-init-list): Removed since it isn't used
6898 6939 anymore.
6899 (c-guess-basic-syntax): Adapt case 5B for the new 6940
6900 `c-just-after-func-arglist-p'. Merge cases 5B.1 and 5B.3. 6941 (c-guess-basic-syntax): Case 5B adapted for the new
6901 Remove cases 5D.1 and 5D.2 since they aren't trigged anymore (case 5B.1 6942 `c-just-after-func-arglist-p'. Cases 5B.1 and 5B.3 merged. Cases
6943 5D.1 and 5D.2 removed since they aren't trigged anymore (case 5B.1
6902 covers all cases now). 6944 covers all cases now).
6903 6945
6904 * progmodes/cc-defs.el (c-point): Add `bosws' and `eosws'. 6946 * progmodes/cc-defs.el (c-point): Added `bosws' and `eosws'.
6905 6947
6906 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 6948 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
6907 6949
6908 * progmodes/cc-cmds.el, cc-styles.el, cc-vars.el: New variables 6950 * progmodes/cc-cmds.el, cc-styles.el, cc-vars.el: New variables
6909 c-string-par-start/separate c-sentence-end-with-esc-eol, 6951 c-string-par-start/separate c-sentence-end-with-esc-eol,
6922 (c-looking-at-decl-block): The new function. 6964 (c-looking-at-decl-block): The new function.
6923 6965
6924 (c-search-uplist-for-classkey): The old one. It's now a wrapper 6966 (c-search-uplist-for-classkey): The old one. It's now a wrapper
6925 for compatibility. 6967 for compatibility.
6926 6968
6927 (c-add-class-syntax, c-guess-continued-construct) 6969 (c-add-class-syntax, c-guess-continued-construct,
6928 (c-guess-basic-syntax): Adapt for `c-looking-at-decl-block'. 6970 c-guess-basic-syntax): Adapted for `c-looking-at-decl-block'.
6929 6971
6930 (c-decl-block-key): Change to tell apart ambiguous and 6972 (c-decl-block-key): Changed to tell apart ambiguous and
6931 unambiguous keywords. Pike specials are now handled directly in 6973 unambiguous keywords. Pike specials are now handled directly in
6932 the code instead. 6974 the code instead.
6933 6975
6934 (c-block-prefix-disallowed-chars, c-block-prefix-charset): 6976 (c-block-prefix-disallowed-chars, c-block-prefix-charset): New
6935 New language constants and variables to make the backward skip in 6977 language constants and variables to make the backward skip in
6936 `c-looking-at-decl-block' as tight as possible. 6978 `c-looking-at-decl-block' as tight as possible.
6937 6979
6938 (c-nonsymbol-token-char-list): New language constant. 6980 (c-nonsymbol-token-char-list): New language constant.
6939 6981
6940 * progmodes/cc-engine.el (c-backward-<>-arglist): New function to 6982 * progmodes/cc-engine.el (c-backward-<>-arglist): New function to
6941 find balanced template arglists backwards. 6983 find balanced template arglists backwards.
6942 6984
6943 * progmodes/cc-defs.el (c-make-bare-char-alt): New helper for 6985 * progmodes/cc-defs.el (c-make-bare-char-alt): New helper for
6944 making char classes for `c-syntactic-skip-backward'. 6986 making char classes for `c-syntactic-skip-backward'.
6945 6987
6946 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplify case 6988 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplified case
6947 16D - can't be a class-close at that point. 6989 16D - can't be a class-close at that point.
6948 6990
6949 * progmodes/cc-engine.el (c-guess-basic-syntax) 6991 * progmodes/cc-engine.el (c-guess-basic-syntax)
6950 (c-add-class-syntax): Don't narrow out the enclosing declaration 6992 (c-add-class-syntax): Don't narrow out the enclosing declaration
6951 level. This makes everything a lot easier, and it was actually 6993 level. This makes everything a lot easier, and it was actually
6952 only four small places that needed it to work. Some places that 6994 only four small places that needed it to work. Some places that
6953 previously did `widen' are removed now, which has the effect that 6995 previously did `widen' are removed now, which has the effect that
6954 `c-guess-basic-syntax' never will look at things outside the 6996 `c-guess-basic-syntax' never will look at things outside the
6955 current narrowment now. The anchor position for `topmost-intro' 6997 current narrowment now. The anchor position for `topmost-intro'
6956 is affected by this, but it was so bogus it was basically useless 6998 is affected by this, but it was so bogus it was basically useless
6957 before, and now it's equally bogus but in a slightly different way. 6999 before, and now it's equally bogus but in a slightly different
7000 way.
6958 7001
6959 (c-narrow-out-enclosing-class): Gone. 7002 (c-narrow-out-enclosing-class): Gone.
6960 7003
6961 (c-most-enclosing-brace, c-least-enclosing-brace): Don't filter to 7004 (c-most-enclosing-brace, c-least-enclosing-brace): Don't filter to
6962 the narrowed region. 7005 the narrowed region.
6963 7006
6964 (c-least-enclosing-brace): Remove silly optional argument. 7007 (c-least-enclosing-brace): Removed silly optional argument.
6965 7008
6966 * progmodes/cc-engine.el (c-beginning-of-decl-1): Fix bug where 7009 * progmodes/cc-engine.el (c-beginning-of-decl-1): Fixed bug where
6967 the point could be left directly after an open paren when finding 7010 the point could be left directly after an open paren when finding
6968 the beginning of the first decl in the block. 7011 the beginning of the first decl in the block.
6969 7012
6970 * progmodes/cc-engine.el, cc-fonts.el (c-forward-keyword-clause): 7013 * progmodes/cc-engine.el, cc-fonts.el (c-forward-keyword-clause):
6971 Specify which submatch to use. 7014 Specify which submatch to use.
6986 7029
6987 (c-opt-identifier-concat-key, c-opt-after-id-concat-key) 7030 (c-opt-identifier-concat-key, c-opt-after-id-concat-key)
6988 (c-identifier-start, c-identifier-key): Now completely calculated 7031 (c-identifier-start, c-identifier-key): Now completely calculated
6989 from other constants. 7032 from other constants.
6990 7033
6991 (c-identifier-last-sym-match): Decommission since it's no longer used. 7034 (c-identifier-last-sym-match): Decommissioned since it's no longer
6992 7035 used.
6993 (c-operators): Use `c-identifier-ops'. Document `postfix-if-paren'. 7036
6994 7037 (c-operators): Use `c-identifier-ops'. Documented
6995 * progmodes/cc-engine.el (c-forward-name): Remove the 7038 `postfix-if-paren'.
7039
7040 * progmodes/cc-engine.el (c-forward-name): Removed the
6996 optimization when c-identifier-key is equal to c-symbol-key since 7041 optimization when c-identifier-key is equal to c-symbol-key since
6997 it doesn't work in byte compiled files. Don't record empty 7042 it doesn't work in byte compiled files. Don't record empty
6998 regions as identifiers. 7043 regions as identifiers.
6999 7044
7000 * progmodes/cc-langs.el (c-filter-ops): New helper function to 7045 * progmodes/cc-langs.el (c-filter-ops): New helper function to
7006 (c-primary-expr-regexp, c-cast-parens): Use it. 7051 (c-primary-expr-regexp, c-cast-parens): Use it.
7007 7052
7008 * progmodes/cc-defs.el (c-lang-const): Fixes to allow use without 7053 * progmodes/cc-defs.el (c-lang-const): Fixes to allow use without
7009 an explicit language in functions. 7054 an explicit language in functions.
7010 7055
7011 * progmodes/cc-defs.el (c-make-keywords-re): Add an appendable 7056 * progmodes/cc-defs.el (c-make-keywords-re): Added an appendable
7012 variant of adornment. 7057 variant of adornment.
7013 7058
7014 * progmodes/cc-langs.el (c-any-class-key): Remove unused language 7059 * progmodes/cc-langs.el (c-any-class-key): Removed unused language
7015 variable. 7060 variable.
7016 7061
7017 (c-type-decl-prefix-key): Remove some now unnecessary cruft from 7062 (c-type-decl-prefix-key): Removed some now unnecessary cruft from
7018 the Pike value. 7063 the Pike value.
7019 7064
7020 * progmodes/cc-engine.el (c-on-identifier) 7065 * progmodes/cc-engine.el (c-on-identifier)
7021 (c-simple-skip-symbol-backward): Small fix for handling "-" 7066 (c-simple-skip-symbol-backward): Small fix for handling "-"
7022 correctly in `skip-chars-backward'. Affected the operator lfun 7067 correctly in `skip-chars-backward'. Affected the operator lfun
7023 syntax in Pike. 7068 syntax in Pike.
7024 7069
7025 * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Disable the 7070 * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Disabled the
7026 diagnostic message about precompiled language vars not being used. 7071 diagnostic message about precompiled language vars not being used.
7027 7072
7028 * progmodes/cc-langs.el (c-paren-nontype-kwds): The GCC keyword 7073 * progmodes/cc-langs.el (c-paren-nontype-kwds): The GCC keyword
7029 "__attribute__" is followed by a parenthesis. 7074 "__attribute__" is followed by a parenthesis.
7030 7075
7031 (c-type-start-kwds, c-prefix-spec-kwds, c-prefix-spec-kwds-re) 7076 (c-type-start-kwds, c-prefix-spec-kwds, c-prefix-spec-kwds-re)
7032 (c-specifier-key, c-not-decl-init-keywords): Some cleanup using new 7077 (c-specifier-key, c-not-decl-init-keywords): Some cleanup using new
7033 language constants `c-type-start-kwds' and `c-prefix-spec-kwds'. 7078 language constants `c-type-start-kwds' and `c-prefix-spec-kwds'.
7034 7079
7035 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el: 7080 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el: Internal
7036 Internal cleanups to properly detect the declared identifiers in 7081 cleanups to properly detect the declared identifiers in various
7037 various declarations. 7082 declarations.
7038 7083
7039 (c-decl-start-kwds): New language constant to recognize 7084 (c-decl-start-kwds): New language constant to recognize
7040 declarations that can start anywhere. Used for class declarations 7085 declarations that can start anywhere. Used for class declarations
7041 in Pike. 7086 in Pike.
7042 7087
7043 (c-specifier-key, c-not-decl-init-keywords) 7088 (c-specifier-key, c-not-decl-init-keywords)
7044 (c-decl-prefix-or-start-re, c-find-decl-prefix-search) 7089 (c-decl-prefix-or-start-re, c-find-decl-prefix-search)
7045 (c-find-decl-spots): Implement `c-decl-start-kwds'. 7090 (c-find-decl-spots): Implement `c-decl-start-kwds'.
7046 7091
7047 (c-other-decl-kwds, c-postfix-decl-spec-kwds, c-decl-hangon-kwds) 7092 (c-other-decl-kwds, c-postfix-decl-spec-kwds, c-decl-hangon-kwds)
7048 (c-decl-hangon-key, c-forward-decl-or-cast-1): Separate the 7093 (c-decl-hangon-key, c-forward-decl-or-cast-1): Separated the
7049 handling of the compiler specific extension keywords into a new 7094 handling of the compiler specific extension keywords into a new
7050 language constant `c-decl-hangon-kwds' that defines keyword 7095 language constant `c-decl-hangon-kwds' that defines keyword
7051 clauses to be ignored in declarations. 7096 clauses to be ignored in declarations.
7052 7097
7053 (c-forward-id-comma-list, c-forward-keyword-clause): Don't skip 7098 (c-forward-id-comma-list, c-forward-keyword-clause): Don't skip
7059 (c-prefix-spec-kwds-re, c-postfix-spec-kwds) 7104 (c-prefix-spec-kwds-re, c-postfix-spec-kwds)
7060 (c-after-suffixed-type-decl-key, c-opt-postfix-decl-spec-key) 7105 (c-after-suffixed-type-decl-key, c-opt-postfix-decl-spec-key)
7061 (c-forward-decl-or-cast-1): Recognize the declared identifier in 7106 (c-forward-decl-or-cast-1): Recognize the declared identifier in
7062 class and enum declarations as such and not as part of the type. 7107 class and enum declarations as such and not as part of the type.
7063 7108
7064 (c-forward-decl-or-cast-1, c-forward-label): Relax the 7109 (c-forward-decl-or-cast-1, c-forward-label): Relaxed the
7065 interpretation of PRECEDING-TOKEN-END when there's no preceding token. 7110 interpretation of PRECEDING-TOKEN-END when there's no preceding
7111 token.
7066 7112
7067 (c-forward-decl-or-cast-1): Don't disregard sure signs of 7113 (c-forward-decl-or-cast-1): Don't disregard sure signs of
7068 declarations when there's some syntax error later on. 7114 declarations when there's some syntax error later on.
7069 7115
7070 (c-complex-decl-matchers): Did away with a reference to 7116 (c-complex-decl-matchers): Did away with a reference to
7073 * progmodes/cc-engine.el (c-maybe-labelp): Provide no default 7119 * progmodes/cc-engine.el (c-maybe-labelp): Provide no default
7074 value - this variable is always dynamically bound. 7120 value - this variable is always dynamically bound.
7075 7121
7076 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el, cc-menus.el 7122 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el, cc-menus.el
7077 * cc-mode.el, cc-styles.el, cc-vars.el, cc-align.el, cc-awk.el 7123 * cc-mode.el, cc-styles.el, cc-vars.el, cc-align.el, cc-awk.el
7078 * cc-cmds.el, cc-defs.el: Change the policy for marking up 7124 * cc-cmds.el, cc-defs.el: Changed the policy for marking up
7079 functions that might do hidden buffer changes: All such internal 7125 functions that might do hidden buffer changes: All such internal
7080 functions are now marked instead of those that don't. 7126 functions are now marked instead of those that don't.
7081 7127
7082 (c-beginning-of-macro, c-end-of-macro, c-(forward|backward)-comments) 7128 (c-beginning-of-macro, c-end-of-macro, c-(forward|backward)-comments)
7083 (c-(forward|backward)-single-comment, c-parse-state, c-on-identifier) 7129 (c-(forward|backward)-single-comment, c-parse-state, c-on-identifier)
7088 (c-electric-backspace, c-electric-delete-forward, c-electric-pound) 7134 (c-electric-backspace, c-electric-delete-forward, c-electric-pound)
7089 (c-electric-brace, c-electric-slash, c-electric-star) 7135 (c-electric-brace, c-electric-slash, c-electric-star)
7090 (c-electric-semi&comma, c-electric-colon, c-electric-lt-gt) 7136 (c-electric-semi&comma, c-electric-colon, c-electric-lt-gt)
7091 (c-electric-paren, c-electric-continued-statement, c-indent-command) 7137 (c-electric-paren, c-electric-continued-statement, c-indent-command)
7092 (c-indent-region, c-mask-paragraph, c-indent-new-comment-line) 7138 (c-indent-region, c-mask-paragraph, c-indent-new-comment-line)
7093 (c-context-line-break): Add `c-save-buffer-state' calls to comply 7139 (c-context-line-break): Added `c-save-buffer-state' calls to comply
7094 with the changed semantics of the functions above. 7140 with the changed semantics of the functions above.
7095 7141
7096 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fix a bug 7142 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed a bug
7097 when macros occur in obscure places. Optimized the sexp movement 7143 when macros occur in obscure places. Optimized the sexp movement
7098 a bit. 7144 a bit.
7099 7145
7100 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 7146 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
7101 7147
7123 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 7169 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
7124 7170
7125 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el: Cleaned up the 7171 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el: Cleaned up the
7126 label handling. Labels are now recognized in a uniform and more 7172 label handling. Labels are now recognized in a uniform and more
7127 robust way, regardless of context. Text properties are put on all 7173 robust way, regardless of context. Text properties are put on all
7128 labels to recognize the following declarations better. 7174 labels to recognize the following declarations better. Multiword
7129 Multiword labels are handled both in indentation and fontification for 7175 labels are handled both in indentation and fontification for the
7130 the benefit of language extensions like Qt. For consistency, keywords 7176 benefit of language extensions like Qt. For consistency, keywords
7131 in labels are now fontified with the label face instead. 7177 in labels are now fontified with the label face instead. That
7132 That also applies to "case" and "default". 7178 also applies to "case" and "default".
7133 7179
7134 (c-beginning-of-statement-1): Fix some bugs in the label 7180 (c-beginning-of-statement-1): Fixed some bugs in the label
7135 handling. Disregard `c-nonlabel-token-key' in labels that begin 7181 handling. Disregard `c-nonlabel-token-key' in labels that begin
7136 with `c-label-kwds'. 7182 with `c-label-kwds'.
7137 7183
7138 (c-find-decl-spots): Support that the callback adds more 7184 (c-find-decl-spots): Support that the callback adds more
7139 `c-decl-end' spots to find. 7185 `c-decl-end' spots to find.
7141 (c-forward-decl-or-cast-1): Don't treat a list of plain 7187 (c-forward-decl-or-cast-1): Don't treat a list of plain
7142 identifiers followed by a colon as a declaration. 7188 identifiers followed by a colon as a declaration.
7143 7189
7144 (c-forward-label): New function to recognize labels. 7190 (c-forward-label): New function to recognize labels.
7145 7191
7146 (c-guess-basic-syntax): Replace uses of `c-label-key' with 7192 (c-guess-basic-syntax): Replaced uses of `c-label-key' with
7147 `c-forward-label'. Moved the label recognition cases (14 and 15) 7193 `c-forward-label'. Moved the label recognition cases (14 and 15)
7148 earlier since they aren't so context sensitive now. Handle labels 7194 earlier since they aren't so context sensitive now. Handle labels
7149 on the top level gracefully. Moved access label recognition to 7195 on the top level gracefully. Moved access label recognition to
7150 the generic label case (CASE 15) - removed CASE 5E. 7196 the generic label case (CASE 15) - removed CASE 5E.
7151 7197
7152 (c-font-lock-declarations): Add recognition of labels in the 7198 (c-font-lock-declarations): Added recognition of labels in the
7153 same round since we need to handle labels in parallell with other 7199 same round since we need to handle labels in parallell with other
7154 declarations to recognize both accurately. It should also improve 7200 declarations to recognize both accurately. It should also improve
7155 speed. 7201 speed.
7156 7202
7157 (c-simple-decl-matchers, c-basic-matchers-after): 7203 (c-simple-decl-matchers, c-basic-matchers-after): Moved
7158 Move `c-font-lock-labels' so that it only is used on decoration level 2 7204 `c-font-lock-labels' so that it only is used on decoration level 2
7159 since `c-font-lock-declarations' handles it otherwise. 7205 since `c-font-lock-declarations' handles it otherwise.
7160 7206
7161 (c-complex-decl-matchers): Remove the simplistic recognition of 7207 (c-complex-decl-matchers): Removed the simplistic recognition of
7162 access labels. 7208 access labels.
7163 7209
7164 (c-decl-prefix-re): Remove the kludges that was necessary to cope 7210 (c-decl-prefix-re): Removed the kludges that was necessary to cope
7165 with labels earlier. 7211 with labels earlier.
7166 7212
7167 (c-decl-start-re): New language variable to make 7213 (c-decl-start-re): New language variable to make
7168 `c-font-lock-declarations' stop for the special protection labels 7214 `c-font-lock-declarations' stop for the special protection labels
7169 in Objective-C that start with `@'. 7215 in Objective-C that start with `@'.
7170 7216
7171 (c-label-key): Remove since it's no longer used. 7217 (c-label-key): Removed since it's no longer used.
7172 7218
7173 (c-recognize-colon-labels, c-label-prefix-re): New language 7219 (c-recognize-colon-labels, c-label-prefix-re): New language
7174 constants to support recognition of generic colon-terminated labels. 7220 constants to support recognition of generic colon-terminated
7221 labels.
7175 7222
7176 (c-type-decl-end-used): `c-decl-end' is now used whenever there 7223 (c-type-decl-end-used): `c-decl-end' is now used whenever there
7177 are colon terminated labels. 7224 are colon terminated labels.
7178 7225
7179 * progmodes/cc-align.el (c-lineup-arglist): Fix bug when the 7226 * progmodes/cc-align.el (c-lineup-arglist): Fixed bug when the
7180 first argument starts with a special brace list. 7227 first argument starts with a special brace list.
7181 7228
7182 * progmodes/cc-engine.el, cc-fonts.el (c-forward-decl-or-cast-1) 7229 * progmodes/cc-engine.el, cc-fonts.el (c-forward-decl-or-cast-1)
7183 (c-font-lock-declarations): Break out the declaration and cast 7230 (c-font-lock-declarations): Broke out the declaration and cast
7184 recognition from `c-font-lock-declarations' to a new function, so 7231 recognition from `c-font-lock-declarations' to a new function, so
7185 that it can be used in the indentation engine. 7232 that it can be used in the indentation engine.
7186 7233
7187 * progmodes/cc-engine.el (c-find-decl-spots): Fix bug in backing 7234 * progmodes/cc-engine.el (c-find-decl-spots): Fixed bug in backing
7188 up to the start of the literal. Fixed bug with the point on the 7235 up to the start of the literal. Fixed bug with the point on the
7189 wrong side of the search limit that could happen when the start 7236 wrong side of the search limit that could happen when the start
7190 position is inside a literal. 7237 position is inside a literal.
7191 7238
7192 * progmodes/cc-engine.el (c-parse-state) 7239 * progmodes/cc-engine.el (c-parse-state)
7193 (c-invalidate-state-cache): Modify the use of `c-state-cache-end' 7240 (c-invalidate-state-cache): Modified the use of `c-state-cache-end'
7194 so that it's kept a little bit back to increase the hit rate. 7241 so that it's kept a little bit back to increase the hit rate.
7195 7242
7196 (c-parse-state): Change the macro handling and fixed some 7243 (c-parse-state): Changed the macro handling and fixed some
7197 glitches. Macro context is checked more often than necessary now, 7244 glitches. Macro context is checked more often than necessary now,
7198 but otoh less garbage conses are generated. 7245 but otoh less garbage conses are generated.
7199 7246
7200 * progmodes/cc-engine.el (c-parse-state) 7247 * progmodes/cc-engine.el (c-parse-state)
7201 (c-invalidate-state-cache): Cache the last position where 7248 (c-invalidate-state-cache): Cache the last position where
7202 `c-state-cache' applies. This can speed up refontification quite 7249 `c-state-cache' applies. This can speed up refontification quite
7203 a bit in blocks where there are many non-brace parens before the point. 7250 a bit in blocks where there are many non-brace parens before the
7251 point.
7204 7252
7205 (c-state-cache-end): New variable for this. 7253 (c-state-cache-end): New variable for this.
7206 7254
7207 (c-guess-basic-syntax, c-debug-parse-state): Adapt for the new 7255 (c-guess-basic-syntax, c-debug-parse-state): Adapted for the new
7208 cache variable. 7256 cache variable.
7209 7257
7210 * progmodes/cc-engine.el (c-find-decl-spots): Take more care to 7258 * progmodes/cc-engine.el (c-find-decl-spots): Take more care to
7211 get close initial continue positions when the start position is 7259 get close initial continue positions when the start position is
7212 inside a literal or macro. Do not call the callback for spots 7260 inside a literal or macro. Do not call the callback for spots
7213 before the start position (which can happen e.g. for `c-decl-end' 7261 before the start position (which can happen e.g. for `c-decl-end'
7214 spots inside comments). Optimize better in special cases when the 7262 spots inside comments). Optimize better in special cases when the
7215 region is a single line inside a literal or macro (typically when 7263 region is a single line inside a literal or macro (typically when
7216 the current line is refontified). 7264 the current line is refontified).
7217 7265
7218 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplify calls 7266 * progmodes/cc-engine.el (c-guess-basic-syntax): Simplified calls
7219 to `c-add-stmt-syntax' - there's no need to explicitly whack off 7267 to `c-add-stmt-syntax' - there's no need to explicitly whack off
7220 entries from the paren state. 7268 entries from the paren state.
7221 7269
7222 * progmodes/cc-engine.el (c-add-stmt-syntax): Narrow down the 7270 * progmodes/cc-engine.el (c-add-stmt-syntax): Narrowed down the
7223 special case for "else if" clauses. 7271 special case for "else if" clauses.
7224 7272
7225 * progmodes/cc-engine.el (c-looking-at-inexpr-block) 7273 * progmodes/cc-engine.el (c-looking-at-inexpr-block)
7226 (c-add-stmt-syntax): Use `c-recognize-paren-inexpr-blocks'. 7274 (c-add-stmt-syntax): Use `c-recognize-paren-inexpr-blocks'.
7227 7275
7228 * progmodes/cc-langs.el (c-recognize-paren-inexpr-blocks): 7276 * progmodes/cc-langs.el (c-recognize-paren-inexpr-blocks): New
7229 New language variable to recognize the gcc extension with statement 7277 language variable to recognize the gcc extension with statement
7230 blocks inside expressions. 7278 blocks inside expressions.
7231 7279
7232 * progmodes/cc-engine.el (c-add-stmt-syntax): Restructure to make 7280 * progmodes/cc-engine.el (c-add-stmt-syntax): Restructured to make
7233 it somewhat more comprehensible. The argument AT-BLOCK-START is 7281 it somewhat more comprehensible. The argument AT-BLOCK-START is
7234 no longer used and hence removed. 7282 no longer used and hence removed.
7235 7283
7236 (c-guess-continued-construct, c-guess-basic-syntax): Update calls 7284 (c-guess-continued-construct, c-guess-basic-syntax): Updated calls
7237 to `c-add-stmt-syntax'. 7285 to `c-add-stmt-syntax'.
7238 7286
7239 * progmodes/cc-engine.el (c-backward-to-decl-anchor): 7287 * progmodes/cc-engine.el (c-backward-to-decl-anchor): Use
7240 Use `c-beginning-of-statement-1' instead of duplicating parts of it. 7288 `c-beginning-of-statement-1' instead of duplicating parts of it.
7241 This fixes bogus label recognition. 7289 This fixes bogus label recognition.
7242 7290
7243 * progmodes/cc-engine.el (c-add-type, c-check-type) 7291 * progmodes/cc-engine.el (c-add-type, c-check-type)
7244 (c-forward-name, c-forward-type): Improve storage of template 7292 (c-forward-name, c-forward-type): Improved storage of template
7245 types in `c-found-types' so that they can be recognized better. 7293 types in `c-found-types' so that they can be recognized better.
7246 7294
7247 (c-syntactic-content): Add option to skip past nested parens. 7295 (c-syntactic-content): Added option to skip past nested parens.
7248 7296
7249 * progmodes/cc-engine.el (c-forward-name): 7297 * progmodes/cc-engine.el (c-forward-name): Set
7250 Set `c-last-identifier-range' all the time. It's less work that way. 7298 `c-last-identifier-range' all the time. It's less work that way.
7251 Handle that there might not be an identifier to store in 7299 Handle that there might not be an identifier to store in
7252 `c-last-identifier-range'. 7300 `c-last-identifier-range'.
7253 7301
7254 (c-forward-type): Handle that `c-last-identifier-range' might be 7302 (c-forward-type): Handle that `c-last-identifier-range' might be
7255 nil from `c-forward-name'. 7303 nil from `c-forward-name'.
7256 7304
7257 * progmodes/cc-defs.el (c-safe-scan-lists) 7305 * progmodes/cc-defs.el (c-safe-scan-lists)
7258 (c-(go-)?(up|down)-list-(forward|backward)): Add limit arguments. 7306 (c-(go-)?(up|down)-list-(forward|backward)): Added limit arguments.
7259 7307
7260 * progmodes/cc-defs.el (c-save-buffer-state): Use `unwind-protect' 7308 * progmodes/cc-defs.el (c-save-buffer-state): Use `unwind-protect'
7261 to work even if the form fails. 7309 to work even if the form fails.
7262 7310
7263 * progmodes/cc-engine.el (c-parse-state): Speedup when moving far 7311 * progmodes/cc-engine.el (c-parse-state): Speedup when moving far
7264 down in a large file in one go. 7312 down in a large file in one go.
7265 7313
7266 (c-get-fallback-start-pos): New helper function for `c-parse-state'. 7314 (c-get-fallback-start-pos): New helper function for
7315 `c-parse-state'.
7267 7316
7268 * progmodes/cc-align.el (c-lineup-assignments): New lineup 7317 * progmodes/cc-align.el (c-lineup-assignments): New lineup
7269 function which is like `c-lineup-math' but returns nil instead of 7318 function which is like `c-lineup-math' but returns nil instead of
7270 `c-basic-offset' when it doesn't match. 7319 `c-basic-offset' when it doesn't match.
7271 7320
7272 (c-lineup-math): Change to use `c-lineup-assignments'. 7321 (c-lineup-math): Changed to use `c-lineup-assignments'.
7273 7322
7274 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 7323 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
7275 7324
7276 * progmodes/cc-cmds.el: Fix some bugs in subfunctions of 7325 * progmodes/cc-cmds.el: Fix some bugs in subfunctions of
7277 c-beginning-of-statement. New subfunctions 7326 c-beginning-of-statement. New subfunctions
7282 * progmodes/cc-fonts.el, cc-langs.el: Use `c-simple-ws' instead of 7331 * progmodes/cc-fonts.el, cc-langs.el: Use `c-simple-ws' instead of
7283 hardcoded char classes whereever possible. Changed a couple of 7332 hardcoded char classes whereever possible. Changed a couple of
7284 places to use skip by syntax instead of skip by char class. 7333 places to use skip by syntax instead of skip by char class.
7285 7334
7286 * progmodes/cc-langs.el (c-unterminated-block-comment-regexp): 7335 * progmodes/cc-langs.el (c-unterminated-block-comment-regexp):
7287 Fix a bug in the regexp that caused extreme backtracking. 7336 Fixed a bug in the regexp that caused extreme backtracking.
7288 7337
7289 * progmodes/cc-langs.el (c-block-comment-starter) 7338 * progmodes/cc-langs.el (c-block-comment-starter)
7290 (c-block-comment-ender): New language constants to specify in a 7339 (c-block-comment-ender): New language constants to specify in a
7291 single place how block comments look. 7340 single place how block comments look.
7292 7341
7301 (c-block-comment-regexp, c-unterminated-block-comment-regexp): 7350 (c-block-comment-regexp, c-unterminated-block-comment-regexp):
7302 New language constants to break up things a bit. 7351 New language constants to break up things a bit.
7303 7352
7304 (c-simple-ws): New language constant for simple whitespace. 7353 (c-simple-ws): New language constant for simple whitespace.
7305 7354
7306 * progmodes/cc-defs.el (c-concat-separated): New convenience function. 7355 * progmodes/cc-defs.el (c-concat-separated): New convenience
7307 7356 function.
7308 * progmodes/cc-defs.el (c-make-keywords-re): Add kludge for bug 7357
7358 * progmodes/cc-defs.el (c-make-keywords-re): Added kludge for bug
7309 in `regexp-opt' in Emacs 20 and XEmacs when strings contain 7359 in `regexp-opt' in Emacs 20 and XEmacs when strings contain
7310 newlines. Allow and ignore nil elements in the list. 7360 newlines. Allow and ignore nil elements in the list.
7311 7361
7312 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 7362 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
7313 7363
7314 * progmodes/cc-cmds.el: Comment out a (n almost certainly 7364 * progmodes/cc-cmds.el: Comment out a (n almost certainly
7315 superfluous) check, (eq here (point-max)) in c-beginning-of-statement. 7365 superfluous) check, (eq here (point-max)) in
7366 c-beginning-of-statement.
7316 7367
7317 * progmodes/cc-cmds.el: Tidy up the comments in 7368 * progmodes/cc-cmds.el: Tidy up the comments in
7318 c-beginning-of-statement and subfunctions. 7369 c-beginning-of-statement and subfunctions.
7319 7370
7320 * progmodes/cc-awk.el: Replace calls to put-text-property to the 7371 * progmodes/cc-awk.el: Replace calls to put-text-property to the
7321 more flexible c-put-char-property and c-clear-char-properties. 7372 more flexible c-put-char-property and c-clear-char-properties.
7322 Add the author's email address. 7373 Add the author's email address.
7323 7374
7324 * progmodes/cc-langs.el (c-block-comment-start-regexp): New variable. 7375 * progmodes/cc-langs.el: New variable,
7376 c-block-comment-start-regexp.
7325 7377
7326 * progmodes/cc-cmds.el: Fix bug with M-e, when point is inside the 7378 * progmodes/cc-cmds.el: Fix bug with M-e, when point is inside the
7327 closing "*/" of a block comment. 7379 closing "*/" of a block comment.
7328 7380
7329 * progmodes/cc-cmds.el: Tidy c-beginning-of-sentence (and 7381 * progmodes/cc-cmds.el: Tidy c-beginning-of-sentence (and
7343 `c-type-modifier-kwds' is empty. 7395 `c-type-modifier-kwds' is empty.
7344 7396
7345 * progmodes/cc-fonts.el (c-font-lock-invalid-string): Fix when 7397 * progmodes/cc-fonts.el (c-font-lock-invalid-string): Fix when
7346 there are several strings on the same line. 7398 there are several strings on the same line.
7347 7399
7348 * progmodes/cc-engine.el (c-literal-limits): Remove the 7400 * progmodes/cc-engine.el (c-literal-limits): Removed the
7349 compatibility function for older emacsen. `c-literal-limits-fast' 7401 compatibility function for older emacsen. `c-literal-limits-fast'
7350 has now taken the place of this function. 7402 has now taken the place of this function.
7351 7403
7352 * progmodes/cc-vars.el (c-emacs-features): Remove compatibility 7404 * progmodes/cc-vars.el (c-emacs-features): Removed compatibility
7353 with older emacsen: We now require `pps-extended-state'. 7405 with older emacsen: We now require `pps-extended-state'.
7354 7406
7355 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 7407 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
7356 7408
7357 * progmodes/cc-cmds.el: New function c-beginning-of-sentence, 7409 * progmodes/cc-cmds.el: New function c-beginning-of-sentence,
7363 subfunctions)): Adapt c-\(back\|forward\)-over-illiterals such 7415 subfunctions)): Adapt c-\(back\|forward\)-over-illiterals such
7364 that movement over macros and code are rigorously separated from 7416 that movement over macros and code are rigorously separated from
7365 eachother. Correct a few incidental bugs. 7417 eachother. Correct a few incidental bugs.
7366 7418
7367 * progmodes/cc-cmds.el: Restructure c-beginning-of-statement: 7419 * progmodes/cc-cmds.el: Restructure c-beginning-of-statement:
7368 Improve its doc-string. Improve the handling of certain specific cases. 7420 Improve its doc-string. Improve the handling of certain specific
7421 cases.
7369 7422
7370 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 7423 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
7371 7424
7372 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el 7425 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el
7373 (c-guess-basic-syntax): Change the way class-level labels are 7426 (c-guess-basic-syntax): Changed the way class-level labels are
7374 recognized; they can now contain essentially any symbols. 7427 recognized; they can now contain essentially any symbols.
7375 7428
7376 (c-opt-extra-label-key): New language variable to cope with the 7429 (c-opt-extra-label-key): New language variable to cope with the
7377 special protection label syntax in Objective-C. 7430 special protection label syntax in Objective-C.
7378 7431
7379 (c-opt-access-key): Remove; this is now handled better by 7432 (c-opt-access-key): Removed; this is now handled better by
7380 `c-nonlabel-token-key' and `c-opt-extra-label-key'. 7433 `c-nonlabel-token-key' and `c-opt-extra-label-key'.
7381 7434
7382 (c-complex-decl-matchers): Update to handle that 7435 (c-complex-decl-matchers): Update to handle that
7383 `c-opt-access-key' no longer exists. 7436 `c-opt-access-key' no longer exists.
7384 7437
7387 7440
7388 * progmodes/cc-engine.el (c-beginning-of-member-init-list): 7441 * progmodes/cc-engine.el (c-beginning-of-member-init-list):
7389 Recognize bitfields better. 7442 Recognize bitfields better.
7390 7443
7391 * progmodes/cc-engine.el (c-beginning-of-inheritance-list): 7444 * progmodes/cc-engine.el (c-beginning-of-inheritance-list):
7392 Remove some cruft and fixed a bug that could cause it to go to a 7445 Removed some cruft and fixed a bug that could cause it to go to a
7393 position further down. 7446 position further down.
7394 7447
7395 * progmodes/cc-langs.el, cc-engine.el 7448 * progmodes/cc-langs.el, cc-engine.el
7396 (c-beginning-of-statement-1): Improve detection of labels in 7449 (c-beginning-of-statement-1): Improved detection of labels in
7397 declaration contexts. 7450 declaration contexts.
7398 7451
7399 (c-beginning-of-decl-1): Use it. 7452 (c-beginning-of-decl-1): Use it.
7400 7453
7401 (c-nonlabel-token-key): New language constant and variable needed 7454 (c-nonlabel-token-key): New language constant and variable needed
7402 by `c-beginning-of-statement-1'. 7455 by `c-beginning-of-statement-1'.
7403 7456
7404 * progmodes/cc-engine.el (c-guess-basic-syntax): Fix bug that 7457 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug that
7405 manifested itself due to the correction in `c-forward-sexp'. 7458 manifested itself due to the correction in `c-forward-sexp'.
7406 7459
7407 * progmodes/cc-defs.el (c-forward-sexp, c-backward-sexp): 7460 * progmodes/cc-defs.el (c-forward-sexp, c-backward-sexp): Made
7408 Make these behave as documented when used at the buffer limits. 7461 these behave as documented when used at the buffer limits.
7409 7462
7410 * progmodes/cc-mode.el, cc-engine.el, cc-langs.el 7463 * progmodes/cc-mode.el, cc-engine.el, cc-langs.el
7411 (c-type-decl-end-used): Made this a language variable. 7464 (c-type-decl-end-used): Made this a language variable.
7412 7465
7413 * progmodes/cc-mode.el (c-after-change): Widen the buffer to work 7466 * progmodes/cc-mode.el (c-after-change): Widen the buffer to work
7414 correctly when `combine-after-change-calls' is used together with 7467 correctly when `combine-after-change-calls' is used together with
7415 temporary narrowings. 7468 temporary narrowings.
7416 7469
7417 * progmodes/cc-engine.el (c-beginning-of-statement-1): 7470 * progmodes/cc-engine.el (c-beginning-of-statement-1): Report
7418 Report labels correctly when the start point is immediately after the 7471 labels correctly when the start point is immediately after the
7419 colon. 7472 colon.
7420 7473
7421 * progmodes/cc-defs.el (c-parse-sexp-lookup-properties): 7474 * progmodes/cc-defs.el (c-parse-sexp-lookup-properties): Removed
7422 Remove since it isn't used anymore. 7475 since it isn't used anymore.
7423 7476
7424 * progmodes/cc-cmds.el (c-electric-lt-gt): Detect and mark angle 7477 * progmodes/cc-cmds.el (c-electric-lt-gt): Detect and mark angle
7425 bracket arglists such as template parens in C++. 7478 bracket arglists such as template parens in C++.
7426 7479
7427 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fix a bug 7480 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fixed a bug
7428 in the last check-in. Some optimization. 7481 in the last check-in. Some optimization.
7429 7482
7430 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fix bug 7483 * progmodes/cc-engine.el (c-syntactic-skip-backward): Fixed bug
7431 where it could stop at the same level in a preceding sexp when 7484 where it could stop at the same level in a preceding sexp when
7432 PAREN-LEVEL is set. 7485 PAREN-LEVEL is set.
7433 7486
7434 * progmodes/cc-mode.el (c-basic-common-init): Turn on syntax-table 7487 * progmodes/cc-mode.el (c-basic-common-init): Turn on syntax-table
7435 text property lookup only when it's needed. 7488 text property lookup only when it's needed.
7436 7489
7437 * progmodes/cc-langs.el, cc-engine.el, cc-fonts.el, cc-mode.el: 7490 * progmodes/cc-langs.el, cc-engine.el, cc-fonts.el, cc-mode.el:
7438 Change the policy for paren marked angle brackets to be more 7491 Changed the policy for paren marked angle brackets to be more
7439 persistent; once marked they remain marked even when they're found 7492 persistent; once marked they remain marked even when they're found
7440 to be unbalanced in the searched region. This should keep the 7493 to be unbalanced in the searched region. This should keep the
7441 paren syntax around even when individual lines are refontified in 7494 paren syntax around even when individual lines are refontified in
7442 multiline template arglists. 7495 multiline template arglists.
7443 7496
7447 `c-disallow-comma-in-<>-arglists' isn't known. 7500 `c-disallow-comma-in-<>-arglists' isn't known.
7448 7501
7449 (c-forward-<>-arglist, c-forward-<>-arglist-recur): The reparse 7502 (c-forward-<>-arglist, c-forward-<>-arglist-recur): The reparse
7450 argument has become `c-parse-and-markup-<>-arglists'. 7503 argument has become `c-parse-and-markup-<>-arglists'.
7451 7504
7452 (c-remove-<>-arglist-properties): Remove - no longer used. 7505 (c-remove-<>-arglist-properties): Removed - no longer used.
7453 7506
7454 (c-after-change-check-<>-operators): New function used on 7507 (c-after-change-check-<>-operators): New function used on
7455 `after-change-functions' to avoid that "<" and ">" characters that 7508 `after-change-functions' to avoid that "<" and ">" characters that
7456 are part of longer operators have paren syntax. 7509 are part of longer operators have paren syntax.
7457 7510
7459 `c-after-change-check-<>-operators'. 7512 `c-after-change-check-<>-operators'.
7460 7513
7461 (c-after-change): Call `c-after-change-check-<>-operators'. 7514 (c-after-change): Call `c-after-change-check-<>-operators'.
7462 7515
7463 (c-font-lock-<>-arglists): Use the context properties set by 7516 (c-font-lock-<>-arglists): Use the context properties set by
7464 `c-font-lock-declarations' to set `c-disallow-comma-in-<>-arglists' 7517 `c-font-lock-declarations' to set
7465 correctly to avoid doing invalid markup. 7518 `c-disallow-comma-in-<>-arglists' correctly to avoid doing invalid
7466 7519 markup.
7467 (c-font-lock-declarations): Remove code that undoes the invalid 7520
7521 (c-font-lock-declarations): Removed code that undoes the invalid
7468 markup done by `c-font-lock-<>-arglists'. 7522 markup done by `c-font-lock-<>-arglists'.
7469 7523
7470 (c-complex-decl-matchers): `c-font-lock-<>-arglists' now runs 7524 (c-complex-decl-matchers): `c-font-lock-<>-arglists' now runs
7471 after `c-font-lock-declarations'. 7525 after `c-font-lock-declarations'.
7472 7526
7473 * progmodes/cc-engine.el (c-syntactic-skip-backward): 7527 * progmodes/cc-engine.el (c-syntactic-skip-backward): Added
7474 Add paren-level feature. 7528 paren-level feature.
7475 7529
7476 (c-guess-basic-syntax): Improve the anchor position for 7530 (c-guess-basic-syntax): Improved the anchor position for
7477 `template-args-cont' in nested template arglists. There's still 7531 `template-args-cont' in nested template arglists. There's still
7478 much to be desired in this area, though. 7532 much to be desired in this area, though.
7479 7533
7480 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 7534 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
7481 7535
7482 * progmodes/cc-cmds.el, cc-engine.el, cc-langs.el, cc-vars.el: 7536 * progmodes/cc-cmds.el, cc-engine.el, cc-langs.el, cc-vars.el:
7483 Make the "Text Filling and Line Breaking" commands work for AWK buffers. 7537 Make the "Text Filling and Line Breaking" commands work for AWK
7538 buffers.
7484 7539
7485 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 7540 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
7486 7541
7487 * progmodes/cc-defs.el, cc-engine.el (c-mode-is-new-awk-p): 7542 * progmodes/cc-defs.el, cc-engine.el (c-mode-is-new-awk-p):
7488 Removed; (c-major-mode-is 'awk-mode) can be used instead now. 7543 Removed; (c-major-mode-is 'awk-mode) can be used instead now.
7517 * progmodes/cc-fonts.el (c-font-lock-declarations): Recognize a 7572 * progmodes/cc-fonts.el (c-font-lock-declarations): Recognize a
7518 construct like "a * b = c;" as a declaration. 7573 construct like "a * b = c;" as a declaration.
7519 7574
7520 2005-12-08 Kim F. Storm <storm@cua.dk> 7575 2005-12-08 Kim F. Storm <storm@cua.dk>
7521 7576
7522 * emulation/cua-base.el (cua-use-hyper-key): Replace by ... 7577 * emulation/cua-base.el (cua-use-hyper-key): Replaced by ...
7523 (cua-rectangle-modifier-key): ... this. New defcustom. Can now 7578 (cua-rectangle-modifier-key): ... this. New defcustom. Can now
7524 select either meta, hyper, or super modifier for rectangle commands. 7579 select either meta, hyper, or super modifier for rectangle commands.
7525 (cua--rectangle-modifier-key): New defvar. 7580 (cua--rectangle-modifier-key): New defvar.
7526 (cua--M/H-key): Use it. Remove special case for `space'. 7581 (cua--M/H-key): Use it. Remove special case for `space'.
7527 (cua--init-keymaps): Initialize it from cua-rectangle-modifier-key 7582 (cua--init-keymaps): Initialize it from cua-rectangle-modifier-key
7528 on X, to meta otherwise. Always bind C-return to toggle 7583 on X, to meta otherwise. Always bind C-return to toggle
7529 rectangle. Pass ?\s instead of `space' to cua--M/H-key. 7584 rectangle. Pass ?\s instead of `space' to cua--M/H-key.
7530 7585
7531 * emulation/cua-rect.el (cua-help-for-rectangle): 7586 * emulation/cua-rect.el (cua-help-for-rectangle): Use
7532 Use cua--rectangle-modifier-key. Handle super modifier too. 7587 cua--rectangle-modifier-key. Handle super modifier too.
7533 (cua--init-rectangles): Always bind C-return to toggle rectangle. 7588 (cua--init-rectangles): Always bind C-return to toggle rectangle.
7534 Pass ?\s instead of `space' to cua--M/H-key and cua--rect-M/H-key. 7589 Pass ?\s instead of `space' to cua--M/H-key and cua--rect-M/H-key.
7535 7590
7536 * ido.el: Move Acknowledgements and History after Commentary. 7591 * ido.el: Move Acknowledgements and History after Commentary.
7537 Minor changes to Commentary. 7592 Minor changes to Commentary.
7538 7593
7539 * emulation/cua-base.el (cua--select-keymaps): Enable repeat 7594 * emulation/cua-base.el (cua--select-keymaps): Enable repeat
7540 keymap if cua--prefix-override-timer is `shift'. 7595 keymap if cua--prefix-override-timer is `shift'.
7541 (cua--shift-control-prefix): New function; emulate "type prefix 7596 (cua--shift-control-prefix): New function; emulate "type prefix
7542 key twice" functionality to handle shifted prefix key override. 7597 key twice" functionality to handle shifted prefix key override.
7543 (cua--shift-control-c-prefix, cua--shift-control-x-prefix): 7598 (cua--shift-control-c-prefix, cua--shift-control-x-prefix): New
7544 New commands. 7599 commands.
7545 (cua--init-keymaps): Bind them to S-C-c and S-C-x. 7600 (cua--init-keymaps): Bind them to S-C-c and S-C-x.
7546 7601
7547 2005-12-08 Carsten Dominik <dominik@science.uva.nl> 7602 2005-12-08 Carsten Dominik <dominik@science.uva.nl>
7548 7603
7549 * textmodes/org.el (org-insert-heading): Try to do items before 7604 * textmodes/org.el (org-insert-heading): Try to do items before
8265 * info.el (Info-speedbar-fetch-file-nodes): Prefix temporary 8320 * info.el (Info-speedbar-fetch-file-nodes): Prefix temporary
8266 buffer name with a space. 8321 buffer name with a space.
8267 8322
8268 2005-11-24 Carsten Dominik <dominik@science.uva.nl> 8323 2005-11-24 Carsten Dominik <dominik@science.uva.nl>
8269 8324
8270 * textmodes/org.el (org-export-plain-list-max-depth): Rename from 8325 * textmodes/org.el (org-export-plain-list-max-depth): Renamed from
8271 `org-export-local-list-max-depth'. Change default value to 3. 8326 `org-export-local-list-max-depth'. Change default value to 3.
8272 (org-auto-renumber-ordered-lists) 8327 (org-auto-renumber-ordered-lists)
8273 (org-plain-list-ordered-item-terminator): New options. 8328 (org-plain-list-ordered-item-terminator): New options.
8274 (org-at-item-p, org-beginning-of-item, org-end-of-item) 8329 (org-at-item-p, org-beginning-of-item, org-end-of-item)
8275 (org-get-indentation, org-get-string-indentation) 8330 (org-get-indentation, org-get-string-indentation)
17112 2005-06-11 Kenichi Handa <handa@m17n.org> 17167 2005-06-11 Kenichi Handa <handa@m17n.org>
17113 17168
17114 * add-log.el (change-log-font-lock-keywords): Make the regexp for 17169 * add-log.el (change-log-font-lock-keywords): Make the regexp for
17115 date lines stricter. 17170 date lines stricter.
17116 17171
17117 2005-06-10 Zhang Wei <id.brep@gmail.com> 17172 2005-06-10 Zhang Wei <id.brep@gmail.com> (tiny change)
17118 17173
17119 * term/x-win.el (x-clipboard-yank): Use x-selection-value instead 17174 * term/x-win.el (x-clipboard-yank): Use x-selection-value instead
17120 of x-get-selection. 17175 of x-get-selection.
17121 17176
17122 2005-06-10 Juanma Barranquero <lekktu@gmail.com> 17177 2005-06-10 Juanma Barranquero <lekktu@gmail.com>