diff options
Diffstat (limited to 'lisp/ChangeLog')
| -rw-r--r-- | lisp/ChangeLog | 1457 |
1 files changed, 1447 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 84232e0a2be..377f2ce0fc2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,1439 @@ | |||
| 1 | 2005-12-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * term/mac-win.el: Create keymap for mac-apple-event-map. | ||
| 4 | |||
| 5 | 2005-12-11 Nick Roberts <nickrob@snap.net.nz> | ||
| 6 | |||
| 7 | * tooltip.el (tooltip-mode): Move to start of file so that it | ||
| 8 | appears at top of customize buffer. | ||
| 9 | |||
| 10 | * progmodes/gud.el (gud-tooltip-modes, gud-tooltip-display): | ||
| 11 | Add the gud groupname. | ||
| 12 | (gud-tooltip-mode): Add the tooltip groupname. | ||
| 13 | (gud-tooltip-echo-area): Add the gud groupname. Remove tag to | ||
| 14 | avoid conflict with tooltip-use-echo-area. | ||
| 15 | |||
| 16 | 2005-12-10 Romain Francoise <romain@orebokech.com> | ||
| 17 | |||
| 18 | * help.el (help-for-help-internal): Add `r' in doc string. | ||
| 19 | |||
| 20 | 2005-12-10 Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se> | ||
| 21 | |||
| 22 | * align.el (align-regexp, align-highlight-rule): Use | ||
| 23 | region-beginning and region-end instead of point and mark, so that | ||
| 24 | repetition (with `repeat-complex-command') recomputes the region | ||
| 25 | bounds. | ||
| 26 | |||
| 27 | 2005-12-10 Lennart Borgman <lennart.borgman.073@student.lu.se> | ||
| 28 | |||
| 29 | * window.el (bw-get-tree, bw-get-tree-1, bw-find-tree-sub) | ||
| 30 | (bw-find-tree-sub-1, bw-l, bw-t, bw-r, bw-b, bw-dir, bw-eqdir) | ||
| 31 | (bw-refresh-edges, bw-adjust-window, bw-balance-sub): New functions. | ||
| 32 | (balance-windows): Rewrite using the above new functions. | ||
| 33 | |||
| 34 | 2005-12-10 David Koppelman <koppel@ece.lsu.edu> | ||
| 35 | |||
| 36 | * hi-lock.el: (hi-lock-mode) Renamed from hi-lock-buffer-mode; | ||
| 37 | react if global-hi-lock-mode seems intended. | ||
| 38 | (global-hi-lock-mode) Renamed from hi-lock-mode. | ||
| 39 | (hi-lock-archaic-interface-message-used) | ||
| 40 | (hi-lock-archaic-interface-deduce): New variables. | ||
| 41 | (turn-on-hi-lock-if-enabled, hi-lock-line-face-buffer) | ||
| 42 | (hi-lock-face-buffer, hi-lock-face-phrase-buffer) | ||
| 43 | (hi-lock-find-patterns, hi-lock-font-lock-hook): Replace | ||
| 44 | hi-lock-buffer-mode with hi-lock-mode. | ||
| 45 | |||
| 46 | 2005-12-10 Kevin Rodgers <ihs_4664@ihs.com> | ||
| 47 | |||
| 48 | * emacs-lisp/lisp.el (lisp-complete-symbol): Regenerate the | ||
| 49 | completion list, even after a partial completion has been | ||
| 50 | inserted in the current buffer. If there are more than 1 | ||
| 51 | completion, redisplay the *Completions* buffer; if the | ||
| 52 | completion is unique, delete the *Completions* window. | ||
| 53 | |||
| 54 | 2005-12-10 Eli Zaretskii <eliz@gnu.org> | ||
| 55 | |||
| 56 | * mail/rmail.el (rmail-next-same-subject): Handle multiple "Re: " | ||
| 57 | strings and long subject lines that were broken into multiple | ||
| 58 | lines at arbitrary places. Handle subjects that have "Re: " in | ||
| 59 | the middle. | ||
| 60 | |||
| 61 | 2005-12-10 John W. Eaton <jwe@octave.org> | ||
| 62 | |||
| 63 | * emacs/octave-mod.el (octave-electric-space): Don't indent | ||
| 64 | comments or strings if octave-auto-indent is nil. | ||
| 65 | |||
| 66 | 2005-12-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 67 | |||
| 68 | * term/mac-win.el: Require url when compiling. Call | ||
| 69 | mac-process-deferred-apple-events after loading init files. | ||
| 70 | (mac-apple-event-map): New defvar. Define event handlers in it. | ||
| 71 | (core-event, internet-event): New Apple event class symbols. | ||
| 72 | (open-application, reopen-application, open-documents) | ||
| 73 | (print-documents, open-contents, quit-application) | ||
| 74 | (application-died, show-preferences, autosave-now, get-url): New | ||
| 75 | Apple event ID symbols. | ||
| 76 | (about): New HICommand ID symbol. | ||
| 77 | (mac-event-spec, mac-event-ae): New macros. | ||
| 78 | (mac-ae-parameter, mac-ae-list, mac-bytes-to-integer) | ||
| 79 | (mac-ae-selection-range, mac-ae-text-for-search) | ||
| 80 | (mac-ae-open-documents, mac-ae-text, mac-ae-get-url): New functions. | ||
| 81 | (mac-application-menu-map): Remove keymap. Handlers for HICommand | ||
| 82 | and Services menu events are now defined in mac-apple-event-map. | ||
| 83 | (mac-drag-n-drop): Remove selection range handling. | ||
| 84 | |||
| 85 | 2005-12-10 Kenichi Handa <handa@m17n.org> | ||
| 86 | |||
| 87 | * simple.el (zap-to-char): Translate CHAR by | ||
| 88 | translation-table-for-input. | ||
| 89 | |||
| 90 | * isearch.el (isearch-process-search-char): Translate CHAR by | ||
| 91 | translation-table-for-input. | ||
| 92 | |||
| 93 | 2005-12-09 Chong Yidong <cyd@stupidchicken.com> | ||
| 94 | |||
| 95 | * foldout.el (foldout-exit-fold): Properly hide subtree. | ||
| 96 | |||
| 97 | 2005-12-09 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 98 | |||
| 99 | * files.el (save-buffer): | ||
| 100 | * international/ucs-tables.el (ucs-set-table-for-input): | ||
| 101 | * mail/mail-extr.el (mail-extract-address-components): | ||
| 102 | * mail/sendmail.el (mail-mode): Reformat doc string. | ||
| 103 | |||
| 104 | 2005-12-09 Juri Linkov <juri@jurta.org> | ||
| 105 | |||
| 106 | * isearch.el (isearch-highlight): Change main overlay priority | ||
| 107 | from 1 to 1001. Simplify. | ||
| 108 | (isearch-lazy-highlight-update): Change lazy overlay priority | ||
| 109 | from 0 to 1000. | ||
| 110 | |||
| 111 | * replace.el (replace-highlight): Change overlay priority from | ||
| 112 | 1 to 1001. | ||
| 113 | |||
| 114 | * textmodes/ispell.el (ispell-highlight-spelling-error-overlay): | ||
| 115 | Change overlay priority from 1 to 1001. Reuse existing overlay. | ||
| 116 | |||
| 117 | * compare-w.el (compare-windows-highlight): Change overlay | ||
| 118 | priority from 1 to 1000. | ||
| 119 | |||
| 120 | * menu-bar.el (menu-bar-edit-menu): Add listp around | ||
| 121 | pending-undo-list to disable menu item "undo" when pending | ||
| 122 | undo list is empty. | ||
| 123 | |||
| 124 | * locate.el (locate): Disable undo in *Locate* buffer. | ||
| 125 | |||
| 126 | 2005-12-09 Kim F. Storm <storm@cua.dk> | ||
| 127 | |||
| 128 | * mail/smtpmail.el (smtpmail-via-smtp): Disable undo in SMTP buffer. | ||
| 129 | |||
| 130 | 2005-12-09 David Ponce <david@dponce.com> | ||
| 131 | |||
| 132 | * recentf.el: Improvement of the menu code. | ||
| 133 | (recentf-enabled-p): Move before first use. Use `kill-emacs-hook' | ||
| 134 | instead of menu hook. | ||
| 135 | (recentf-show-menu, recentf-hide-menu): New functions. | ||
| 136 | (recentf-menu-customization-changed, recentf-mode): Use them. | ||
| 137 | (recentf-menu-action, recentf-max-menu-items) | ||
| 138 | (recentf-menu-open-all-flag, recentf-menu-append-commands-flag) | ||
| 139 | (recentf-arrange-by-rule-others) | ||
| 140 | (recentf-arrange-by-rules-min-items) | ||
| 141 | (recentf-arrange-by-rule-subfilter) : Don't use | ||
| 142 | `recentf-menu-customization-changed'. | ||
| 143 | (recentf-arrange-rules): Likewise. Accept functions to compute | ||
| 144 | sub-menu titles. | ||
| 145 | (recentf-menu-filter): Likewise. Doc fix. | ||
| 146 | (recentf-menu-value-shortcut): Doc fix. | ||
| 147 | (recentf-dump-variable): Quote atom value. | ||
| 148 | (recentf-make-menu-items): Update to use it as a menu filter. | ||
| 149 | (recentf-match-rule): New function. | ||
| 150 | (recentf-arrange-by-rule): Use it. | ||
| 151 | (recentf-indirect-mode-rule): New function. | ||
| 152 | (recentf-build-mode-rules): Use it. | ||
| 153 | (recentf-dir-rule): New function. | ||
| 154 | (recentf-arrange-by-dir): Use it. | ||
| 155 | (recentf-filter-changer-current): Rename from | ||
| 156 | `recentf-filter-changer-state'. All references updated. | ||
| 157 | (recentf-filter-changer-alist): Update filter names. | ||
| 158 | (recentf-filter-changer-select): New function. | ||
| 159 | (recentf-filter-changer): Use it. Make a sub-menu from filters | ||
| 160 | available in `recentf-filter-changer-alist'. | ||
| 161 | (recentf-data-cache, recentf-clear-data) | ||
| 162 | (recentf-update-menu): Remove. All references updated. | ||
| 163 | (recentf-match-rule-p, recentf-build-dir-rules) | ||
| 164 | (recentf-filter-changer-goto-next) | ||
| 165 | (recentf-filter-changer-get-current) | ||
| 166 | (recentf-filter-changer-get-next): Remove. | ||
| 167 | |||
| 168 | 2005-12-08 Luc Teirlinck <teirllm@auburn.edu> | ||
| 169 | |||
| 170 | * cus-edit.el (custom-buffer-create-internal): Relabel the whole | ||
| 171 | buffer "Reset" button to "Reset to Current" for consistency with | ||
| 172 | the State buttons. | ||
| 173 | |||
| 174 | 2005-12-08 John Paul Wallington <jpw@pobox.com> | ||
| 175 | |||
| 176 | * ibuf-ext.el (define-ibuffer-filter filename): | ||
| 177 | If `dired-directory' is a list then really use its car. | ||
| 178 | |||
| 179 | 2005-12-08 Kim F. Storm <storm@cua.dk> | ||
| 180 | |||
| 181 | * emulation/cua-rect.el (cua--rectangle-aux-replace): Fix | ||
| 182 | indention of text on right side of replaced rectangle. | ||
| 183 | |||
| 184 | 2005-12-09 Nick Roberts <nickrob@snap.net.nz> | ||
| 185 | |||
| 186 | * progmodes/gud.el (gud-speedbar-buttons, gud-tooltip-tips): | ||
| 187 | No need to check gud-comint-buffer is bound. | ||
| 188 | (gdb): Prevent multiple debugging when first session uses gdba. | ||
| 189 | |||
| 190 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 191 | |||
| 192 | CC Mode update to 5.31. | ||
| 193 | |||
| 194 | * progmodes/cc-subword.el: Add a dummy `c-subword-mode' for | ||
| 195 | Emacsen which lack `define-minor-mode'. (Currently Emacs <21. We | ||
| 196 | might do this function properly in the future). | ||
| 197 | |||
| 198 | * progmodes/cc-cmds.el, cc-defs.el, cc-styles.el, cc-vars.el: New | ||
| 199 | macros c-sentence-end and c-default-value-sentence end, to cope | ||
| 200 | with Emacs 22's new function `sentence-end'. | ||
| 201 | |||
| 202 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 203 | |||
| 204 | * progmodes/cc-cmds.el (c-show-syntactic-information): Solved the | ||
| 205 | compat issue using `c-put-overlay' and `c-delete-overlay'. | ||
| 206 | |||
| 207 | * progmodes/cc-defs.el (c-put-overlay, c-delete-overlay): New | ||
| 208 | compat macros to handle overlays/extents. | ||
| 209 | |||
| 210 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 211 | |||
| 212 | * progmodes/cc-fix.el: Add definitions of the macros push and pop | ||
| 213 | (for GNU Emacs 20.4) | ||
| 214 | |||
| 215 | * progmodes/cc-defs.el: | ||
| 216 | (i) Load cc-fix.elc for `push' and `pop' (for GNU Emacs 20.4) | ||
| 217 | |||
| 218 | * progmodes/cc-cmds.el (c-show-syntactic-information): change the | ||
| 219 | highlighting mechanism so it will work in XEmacs too. | ||
| 220 | |||
| 221 | * progmodes/cc-defs.el: Insert c-int-to-char. | ||
| 222 | |||
| 223 | * progmodes/cc-langs.el (c-nonsymbol-token-char-list): Insert a | ||
| 224 | call to the new macro c-int-to-char. This solves XEmacs's | ||
| 225 | regarding characters as different from integers. | ||
| 226 | |||
| 227 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 228 | |||
| 229 | * progmodes/cc-fonts.el (c-make-syntactic-matcher): New internal | ||
| 230 | helper. | ||
| 231 | |||
| 232 | (c-cpp-matchers, c-basic-matchers-before): Use the `eval' | ||
| 233 | construct to make the indirect face lookup work in XEmacs. | ||
| 234 | |||
| 235 | (c-cpp-matchers): Append the negation char face to the existing | ||
| 236 | fontification, so that the cpp face doesn't disappear. Use | ||
| 237 | `c-make-syntactic-matcher' to avoid negation chars in comments and | ||
| 238 | strings. | ||
| 239 | |||
| 240 | * progmodes/cc-fonts.el (c-negation-char-face-name): New variable | ||
| 241 | to map to `font-lock-negation-char-face' in emacsen where it | ||
| 242 | exists. | ||
| 243 | |||
| 244 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 245 | |||
| 246 | * progmodes/cc-mode.el: Bind c-subword-mode to C-c C-w. | ||
| 247 | |||
| 248 | * progmodes/cc-subword.el, cc-cmds.el, cc-mode.el: Rename | ||
| 249 | "c-subword-move-mode" as "c-subword-mode". | ||
| 250 | |||
| 251 | * progmodes/cc-mode.el: Added tty suitable bindings for C-c | ||
| 252 | <delete> and C-c C-<delete>. (To the c-hungry- delete functions). | ||
| 253 | |||
| 254 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 255 | |||
| 256 | * progmodes/cc-mode.el: Added autoload directive for | ||
| 257 | `c-subword-move-mode' for use in older emacsen. | ||
| 258 | |||
| 259 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 260 | |||
| 261 | * progmodes/cc-mode.el: | ||
| 262 | (i) Insert a binding for C-c C-backspace into | ||
| 263 | c-bind-special-erase-keys which works in TTYs. | ||
| 264 | (ii) Make sure that when file styles are used, any explicitly | ||
| 265 | given style variables take priority over those in the style. Do | ||
| 266 | this by calling `hack-local-variables' a second time. | ||
| 267 | |||
| 268 | * progmodes/cc-vars.el: Add language specific customization | ||
| 269 | widgets for AWK to c-doc-comment-style, c-require-final-newline | ||
| 270 | and c-default-style. Add a defcustom for awk-mode-hook. Give | ||
| 271 | c-syntactic-element and c-syntactic-context doc-strings by | ||
| 272 | directly setting their `variable-documentation' propery. This | ||
| 273 | allows Emacs 22.1 to read these with C-h v. | ||
| 274 | |||
| 275 | * progmodes/cc-awk.el: Apply a tidy-up patch (from Stefan | ||
| 276 | Monnier). | ||
| 277 | |||
| 278 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 279 | |||
| 280 | * progmodes/cc-fonts.el, cc-vars.el | ||
| 281 | (gtkdoc-font-lock-doc-comments, gtkdoc-font-lock-doc-protection, | ||
| 282 | gtkdoc-font-lock-keywords): GtkDoc patterns contributed by | ||
| 283 | Masatake YAMATO. | ||
| 284 | |||
| 285 | (c-doc-comment-style): Made GtkDoc default in C mode. | ||
| 286 | |||
| 287 | * progmodes/cc-mode.el: Fixed key bindings for C-c C-<backspace> | ||
| 288 | and C-c C-<delete>. | ||
| 289 | |||
| 290 | (c-bind-special-erase-keys): New function for use on | ||
| 291 | `normal-erase-is-backspace-hook' to bind C-c C-<delete> correctly. | ||
| 292 | |||
| 293 | * progmodes/cc-cmds.el (c-hungry-delete): New function to fix | ||
| 294 | <delete> key behavior in XEmacs according to `delete-forward-p'. | ||
| 295 | C.f. `c-electric-delete'. | ||
| 296 | |||
| 297 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 298 | |||
| 299 | * progmodes/cc-mode.el: Give c-hungry-backspace and | ||
| 300 | c-hungry-delete-forward permanent key bindings. | ||
| 301 | |||
| 302 | * progmodes/cc-cmds.el (c-electric-semi&comma): Bind | ||
| 303 | c-syntactic-context for calls to "criteria functions", for | ||
| 304 | consistency with other calls to user functions. | ||
| 305 | |||
| 306 | * progmodes/cc-cmds.el (c-indent-command): expunge use of | ||
| 307 | `current-prefix-arg', since this might be the prefix arg to a | ||
| 308 | command which calls c-indent-command as a function. Change the | ||
| 309 | interactive spec from "p" to "P". | ||
| 310 | |||
| 311 | * progmodes/cc-styles.el: Amend the doc-string of c-set-style, in | ||
| 312 | reponse to a report from Joseph Kiniry <kiniry@acm.org> that it | ||
| 313 | was difficult to understand. | ||
| 314 | |||
| 315 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 316 | |||
| 317 | * progmodes/cc-engine.el (c-on-identifier): Fixed bug when at the | ||
| 318 | first char of an identifier. | ||
| 319 | |||
| 320 | * progmodes/cc-engine.el (c-on-identifier): Handle the "operator | ||
| 321 | +" syntax in C++. | ||
| 322 | |||
| 323 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 324 | |||
| 325 | * progmodes/cc-cmds.el (c-mask-paragraph): correct, so that | ||
| 326 | auto-fill doesn't split a c-comment's last word from a hanging | ||
| 327 | "*/" when a space is typed between them after fill-column. | ||
| 328 | |||
| 329 | * progmodes/cc-defs.el: New macro c-delete-and-extract-region. | ||
| 330 | |||
| 331 | * progmodes/cc-styles.el (c-set-style, | ||
| 332 | c-setup-paragraph-variables): Abort the command if we're not in a | ||
| 333 | CC Mode buffer. | ||
| 334 | |||
| 335 | * progmodes/cc-align.el (c-lineup-C-comments): Correct indentation | ||
| 336 | with blank comment-prefix, and a blank line as the comment's | ||
| 337 | second line. | ||
| 338 | |||
| 339 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 340 | |||
| 341 | * progmodes/cc-fonts.el (c-cpp-matchers, c-basic-matchers-before): | ||
| 342 | Incorporated the patterns added in the Emacs development branch | ||
| 343 | for the new Emacs 22 face `font-lock-negation-char-face'. | ||
| 344 | |||
| 345 | * progmodes/cc-fonts.el (c-invalid-face-name): Use "red1" instead | ||
| 346 | of "red" since it stands out better in xterms and DOS terminals. | ||
| 347 | |||
| 348 | * progmodes/cc-engine.el (c-literal-faces): Added | ||
| 349 | `font-lock-comment-delimiter-face' which is new in Emacs 22. | ||
| 350 | |||
| 351 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 352 | |||
| 353 | * progmodes/cc-cmds.el: Make C-c C-a (`c-toggle-auto-newline') | ||
| 354 | forcibly enable c-electric-flag. | ||
| 355 | |||
| 356 | * progmodes/cc-vars.el, cc-cmds.el: New clean-up | ||
| 357 | `comment-close-slash' on c-electric-slash: if enabled, typing `/' | ||
| 358 | just after the comment-prefix of a C-style comment will close that | ||
| 359 | comment. | ||
| 360 | |||
| 361 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 362 | |||
| 363 | * progmodes/cc-fonts.el (c-basic-matchers-before, | ||
| 364 | c-complex-decl-matchers): Fixed the "not-arrow-prefix" regexp used | ||
| 365 | in Pike. | ||
| 366 | |||
| 367 | * progmodes/cc-langs.el (c-other-op-syntax-tokens): Only C++ has | ||
| 368 | digraphs. | ||
| 369 | |||
| 370 | * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el | ||
| 371 | (c-cpp-message-directives, c-cpp-include-directives, | ||
| 372 | c-opt-cpp-macro-define, c-opt-cpp-macro-define-start, | ||
| 373 | c-cpp-expr-directives): Introduced new language constants to | ||
| 374 | control cpp syntax in a cleaner way. | ||
| 375 | |||
| 376 | (c-cpp-expr-functions): Renamed from c-cpp-defined-fns. | ||
| 377 | |||
| 378 | (c-cpp-matchers, c-forward-to-cpp-define-body): Use them. | ||
| 379 | |||
| 380 | * progmodes/cc-langs.el, cc-fonts.el (c-string-escaped-newlines, | ||
| 381 | c-multiline-string-start-char): New language constants and | ||
| 382 | variables to specify how newlines in string literals work. | ||
| 383 | |||
| 384 | (c-font-lock-invalid-string): Use them. | ||
| 385 | |||
| 386 | * progmodes/cc-cmds.el (c-try-one-liner): Robustness fix if an | ||
| 387 | unbalanced close brace is entered. Optimization by avoiding going | ||
| 388 | back over arbitrarily large blocks. Removed hints that this | ||
| 389 | function only would be relevant/useful in AWK. | ||
| 390 | |||
| 391 | (c-electric-brace): Indent syntactically after the cleanups since | ||
| 392 | lineup functions might do it differently then. | ||
| 393 | |||
| 394 | * progmodes/cc-engine.el, cc-langs.el | ||
| 395 | (c-opt-op-identifier-prefix): New language constant and variable. | ||
| 396 | |||
| 397 | (c-just-after-func-arglist-p, c-after-special-operator-id, | ||
| 398 | c-search-decl-header-end, c-inside-bracelist-p): Use it. | ||
| 399 | |||
| 400 | * progmodes/cc-align.el, cc-engine.el | ||
| 401 | (c-after-special-operator-id): New helper to handle C++ operator | ||
| 402 | identifiers. | ||
| 403 | |||
| 404 | (c-lineup-topmost-intro-cont, c-just-after-func-arglist-p, | ||
| 405 | c-guess-basic-syntax): Handle C++ operator identifiers in | ||
| 406 | declarations. | ||
| 407 | |||
| 408 | * progmodes/cc-langs.el (c-assignment-operators): Added the | ||
| 409 | trigraph version of ^= too. | ||
| 410 | |||
| 411 | * progmodes/cc-langs.el (c-assignment-operators): Added the | ||
| 412 | trigraph version of |= in C++. | ||
| 413 | |||
| 414 | * progmodes/cc-fonts.el (c-font-lock-declarators): Handle | ||
| 415 | `c-decl-hangon-kwds' after the identifier name. | ||
| 416 | |||
| 417 | * progmodes/cc-engine.el (c-guess-basic-syntax): When deciding | ||
| 418 | whether an arglist is "nonempty", ignore a comment after the open | ||
| 419 | paren if it isn't followed by a non-comment token on the same | ||
| 420 | line. | ||
| 421 | |||
| 422 | * progmodes/cc-engine.el (c-guess-basic-syntax): Case 4: Enable | ||
| 423 | heuristics below the point to cope with classes inside special | ||
| 424 | brace lists in Pike. | ||
| 425 | |||
| 426 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 427 | |||
| 428 | * progmodes/cc-cmds.el: Amend c-point-syntax to handle macros. | ||
| 429 | |||
| 430 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 431 | |||
| 432 | * progmodes/cc-guess.el (cc-guess-install): New function to | ||
| 433 | install an already guessed style in another buffer. | ||
| 434 | |||
| 435 | * progmodes/cc-defs.el (c-tentative-buffer-changes): No longer | ||
| 436 | sets `inhibit-read-only' - `c-save-buffer-state' should be used | ||
| 437 | anyway if the change always is undone. | ||
| 438 | |||
| 439 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 440 | |||
| 441 | Implement togglable electricity: | ||
| 442 | |||
| 443 | * progmodes/cc-defs.el: Enhance c-save-buffer-state's doc-string, | ||
| 444 | saying when it should be used. | ||
| 445 | |||
| 446 | * progmodes/cc-engine.el: Add the new buffer-local variable, | ||
| 447 | c-electric-flag. | ||
| 448 | |||
| 449 | * progmodes/cc-langs.el: Change the name of c-toggle-auto-state to | ||
| 450 | c-toggle-auto-newline. | ||
| 451 | |||
| 452 | * progmodes/cc-mode.el: Rename c-toggle-auto-state to | ||
| 453 | c-toggle-auto-newline. Remove the binding for | ||
| 454 | c-toggle-auto-hungry-state. Add the binding C-c C-l for the new | ||
| 455 | c-toggle-electric-state. | ||
| 456 | |||
| 457 | * progmodes/cc-vars.el: Make c-syntactic-indentation buffer local. | ||
| 458 | |||
| 459 | * progmodes/cc-cmds.el: Add `c-bytecomp-defun's for | ||
| 460 | c-\(forward\|backward\)-subword. | ||
| 461 | (c-update-modeline): Add the new modeline flag `l' for | ||
| 462 | `c-electric-flag'. Make the auto-newline flag `a' dependent on | ||
| 463 | `l'. | ||
| 464 | (c-toggle-auto-state): Rename it to `c-toggle-auto-newline'. Make | ||
| 465 | the old name an alias of the new name. | ||
| 466 | (c-toggle-electric-state): New function. | ||
| 467 | c-electric-\(pound\|brace\|slash\|star\|semi&comma\|colon\|lt-gt\|paren\|continued-statement\): | ||
| 468 | Adapt these functions to do electric things only when | ||
| 469 | c-electric-flag is non-nil. | ||
| 470 | (c-point-syntax, c-brace-newlines, c-try-oneliner): Extract these | ||
| 471 | new functions from c-electric-brace. | ||
| 472 | (c-point-syntax): Add a check for "virtual semicolons" in AWK | ||
| 473 | mode, so that the tentative extra newline doesn't change the | ||
| 474 | syntax of the following brace. | ||
| 475 | (c-electric-brace): restructure by extracting the above functions. | ||
| 476 | Tidy up the coding somewhat. | ||
| 477 | (c-electric-semi&comma, c-electric-colon, c-electric-paren): | ||
| 478 | restructure a bit. | ||
| 479 | |||
| 480 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 481 | |||
| 482 | * progmodes/cc-cmds.el (c-show-syntactic-information): Show the | ||
| 483 | anchor position(s) using faces. Thanks to Masatake YAMATO for the | ||
| 484 | idea. | ||
| 485 | |||
| 486 | * progmodes/cc-mode.el, cc-cmds.el, cc-defs.el, cc-engine.el | ||
| 487 | (c-submode-indicators): Changed name from `c-auto-hungry-string' | ||
| 488 | since it's now used to track another submode. | ||
| 489 | |||
| 490 | (c-update-modeline): Converted to function and extended to check | ||
| 491 | `c-subword-move-mode'. | ||
| 492 | |||
| 493 | (c-forward-into-nomenclature, c-backward-into-nomenclature): | ||
| 494 | Converted to compat aliases for `c-forward-subword' and | ||
| 495 | `c-backward-subword'. | ||
| 496 | |||
| 497 | * progmodes/cc-subword.el: New functions and minor mode to handle | ||
| 498 | SillyCapsedStyleIndentifiers, contributed by Masatake YAMATO: | ||
| 499 | |||
| 500 | (c-forward-subword, c-backward-subword, c-mark-subword, | ||
| 501 | c-kill-subword, c-backward-kill-subword, c-transpose-subwords, | ||
| 502 | c-capitalize-subword, c-downcase-subword, c-upcase-subword): | ||
| 503 | Functions corresponding to the standard word handling functions. | ||
| 504 | |||
| 505 | (c-subword-move-mode): Minor mode that replaces all the standard | ||
| 506 | word handling functions with their subword equivalences. | ||
| 507 | |||
| 508 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 509 | |||
| 510 | * progmodes/cc-vars.el (c-cleanup-list): Insert a customization | ||
| 511 | entry for one-liner-defun. | ||
| 512 | |||
| 513 | * progmodes/cc-defs.el: Give c-tentative-buffer-changes its own | ||
| 514 | name in its def-edebug-spec. | ||
| 515 | |||
| 516 | * progmodes/cc-cmds.el (c-electric-brace): Make the | ||
| 517 | one-liner-defun clean-up work with empty-defun-braces. o-l-d now | ||
| 518 | compacts space before a comment, if this will make things fit on | ||
| 519 | one line. | ||
| 520 | |||
| 521 | Introduce an "awk" style, mainly for auto-newline and clean-ups. | ||
| 522 | |||
| 523 | * progmodes/cc-align.el: new function c-snug-1line-defun-close | ||
| 524 | |||
| 525 | * progmodes/cc-cmds.el: In c-electric-brace, add code for new | ||
| 526 | clean-up one-liner-defun. | ||
| 527 | |||
| 528 | * progmodes/cc-styles.el: Add the new "awk" style. | ||
| 529 | |||
| 530 | * progmodes/cc-vars.el: Add description of one-liner-defun to | ||
| 531 | c-cleanup-list's doc-string. New user options, | ||
| 532 | c-max-one-liner-length. In c-default-style, set the default style | ||
| 533 | for AWK to "awk". | ||
| 534 | |||
| 535 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 536 | |||
| 537 | * progmodes/cc-engine.el (c-forward-label): Fixed fontification of | ||
| 538 | macros inside labels. | ||
| 539 | |||
| 540 | * progmodes/cc-engine.el (c-looking-at-bos): Obsoleted in favor of | ||
| 541 | `c-at-statement-start-p' and `c-at-expression-start-p'. | ||
| 542 | |||
| 543 | * progmodes/cc-defs.el (c-tnt-chng-record-state): Don't signal an | ||
| 544 | error if the mark isn't set. | ||
| 545 | |||
| 546 | * progmodes/cc-engine.el (c-guess-continued-construct, | ||
| 547 | c-guess-basic-syntax): Use `c-forward-decl-or-cast-1' to more | ||
| 548 | accurately detect functions inside functions. | ||
| 549 | |||
| 550 | * progmodes/cc-engine.el (c-at-expression-start-p): New function | ||
| 551 | like `c-at-statement-start-p' that additionally recognizes commas | ||
| 552 | and expression parentheses as delimiters. | ||
| 553 | |||
| 554 | * progmodes/cc-engine.el (c-looking-at-inexpr-block): Added flag | ||
| 555 | to avoid heuristics that doesn't work for unclosed blocks. | ||
| 556 | |||
| 557 | (c-at-statement-start-p): New function. | ||
| 558 | |||
| 559 | * progmodes/cc-engine.el, cc-fonts.el: Fixes in handling of | ||
| 560 | Objective-C directives, e.g. directives spanning lines should work | ||
| 561 | reasonably well now. | ||
| 562 | |||
| 563 | (c-put-c-type-property, c-clear-c-type-property): New helpers. | ||
| 564 | |||
| 565 | (c-forward-objc-directive): New function to move over any ObjC | ||
| 566 | directive. | ||
| 567 | |||
| 568 | (c-just-after-func-arglist-p, c-guess-basic-syntax, | ||
| 569 | c-basic-matchers-before): Use it. | ||
| 570 | |||
| 571 | (c-font-lock-objc-iip-decl): Removed. | ||
| 572 | |||
| 573 | * progmodes/cc-engine.el (c-guess-basic-syntax): Some improvement | ||
| 574 | in the template arglist recognition. | ||
| 575 | |||
| 576 | * progmodes/cc-styles.el (c-style-alist): Fixed several | ||
| 577 | inconsistencies in the Whitesmith style. | ||
| 578 | |||
| 579 | * progmodes/cc-align.el (c-lineup-after-whitesmith-blocks): New | ||
| 580 | lineup function to get lines after Whitesmith style blocks | ||
| 581 | correctly indented. | ||
| 582 | |||
| 583 | (c-lineup-whitesmith-in-block): Backed out the compensation for | ||
| 584 | opening parens since it's done using `add' lists in the style | ||
| 585 | definition instead. Don't use the anchor position since it varies | ||
| 586 | too much between the syntactic symbols. :P | ||
| 587 | |||
| 588 | * progmodes/cc-vars.el (c-valid-offset): Updated. | ||
| 589 | |||
| 590 | * progmodes/cc-engine.el (c-evaluate-offset): Extended to handle | ||
| 591 | lists where the offsets are combined according to several | ||
| 592 | different methods: `first', `min', `max', and `add'. Report | ||
| 593 | offset evaluation errors with `c-benign-error' so that some kind | ||
| 594 | of reindentation still is done. | ||
| 595 | |||
| 596 | * progmodes/cc-engine.el (c-guess-basic-syntax): Anchor | ||
| 597 | `arglist-intro' the same way as `arglist-cont-nonempty' and | ||
| 598 | `arglist-close'. | ||
| 599 | |||
| 600 | * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed similar | ||
| 601 | situations for `arglist-cont-nonempty' and `arglist-close'. | ||
| 602 | |||
| 603 | * progmodes/cc-langs.el (c-opt-identifier-concat-key-depth): New | ||
| 604 | constant. | ||
| 605 | |||
| 606 | * progmodes/cc-defs.el: Use `cc-bytecomp-fboundp' and | ||
| 607 | cc-bytecomp-boundp' in a number of places. | ||
| 608 | |||
| 609 | * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed a | ||
| 610 | macro related issue. | ||
| 611 | |||
| 612 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 613 | |||
| 614 | * progmodes/cc-awk.el: Change the terminology of regexps: A char | ||
| 615 | list is now | ||
| 616 | [asdf], a char class [:alpha:]. Include code for char classes. | ||
| 617 | Set c-awk-NL-prop on lines ending in open strings. (Bug fix.) | ||
| 618 | Add character classes (e.g. "[:alpha:]") into AWK Mode's regexps. | ||
| 619 | |||
| 620 | Remove (nearly all of) the cruft associated with AWK Mode's former | ||
| 621 | concept of "virtual semicolons": | ||
| 622 | |||
| 623 | Adapt c-beginning-of-statement, c-end-of-statement (together with | ||
| 624 | subfunctions) to use the new notion of "virtual semicolon" in | ||
| 625 | place of the old awkward special handling for AWK. There remains | ||
| 626 | much cruft in cc-awk.el, cc-cmds.el and cc-engine.el to clear out. | ||
| 627 | * progmodes/cc-cmds.el: | ||
| 628 | (c-ascertain-adjacent-literal): In the backwards direction, now | ||
| 629 | recognises AWK regexp delimiters as string delimiters. | ||
| 630 | (c-after-statement-terminator-p): Adapt for virtual semicolons; | ||
| 631 | check more rigorously for "end of macro". | ||
| 632 | (c-back-over-illiterals, c-forward-over-illiterals): Adapt for | ||
| 633 | virtual semicolons; | ||
| 634 | (c-beginning-of-statement): Adapt for virtual semicolons; Separate | ||
| 635 | out the code for forward movement into ... | ||
| 636 | (c-end-of-statement): Now contains the code for forward movement, | ||
| 637 | adapted for virtual semicolons. | ||
| 638 | |||
| 639 | * progmodes/cc-engine.el: | ||
| 640 | (c-ws*-string-limit-regexp): new regexp. | ||
| 641 | (c-forward-single-comment, c-backward-single-comment): Comment out | ||
| 642 | the (now redundant) "special" AWK stuff. | ||
| 643 | |||
| 644 | * progmodes/cc-styles.el, cc-vars.el: Change the settings of | ||
| 645 | c-string-par-start, c-string-par-separate to be more like Text | ||
| 646 | Mode than Fundamental Mode. | ||
| 647 | |||
| 648 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 649 | |||
| 650 | * progmodes/cc-fonts.el (c-font-lock-declarations): Always narrow | ||
| 651 | to the fontified region so that fontification doesn't occur | ||
| 652 | outside it | ||
| 653 | (could happen e.g. when fontifying a line with an unfinished | ||
| 654 | declaration). | ||
| 655 | |||
| 656 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 657 | |||
| 658 | * progmodes/cc-awk.el: Regexps for analysing AWK code have been | ||
| 659 | moved to near the start of the file. ^L now separate sections of | ||
| 660 | the file. New defconsts: c-awk-non-eol-esc-pair-re, | ||
| 661 | c-awk-blank-or-comment-line-re, | ||
| 662 | c-awk-one-line-possibly-open-string-re, | ||
| 663 | c-awk-regexp-one-line-possibly-open-char-class-re, | ||
| 664 | c-awk-one-line-possibly-open-regexp-re, | ||
| 665 | c-awk-one-line-non-syn-ws*-re. New functions: c-awk-at-vsemi-p, | ||
| 666 | c-awk-vsemi-status-unknown-p. | ||
| 667 | |||
| 668 | Amend the concept of "virtual semicolons" (in the indentation | ||
| 669 | engine) for languages like AWK, such that they are now | ||
| 670 | conceptually attached to end of the last token of a statement, not | ||
| 671 | the end of the line. (In AWK Mode, however, the pertinent text | ||
| 672 | property is still physically set on the EOL.) Remove the specific | ||
| 673 | tests for awk-mode, thus facilitating the introduction of other | ||
| 674 | language modes where EOLs can end statements. (Note: The | ||
| 675 | funtionality in cc-cmds.el, specifically | ||
| 676 | c-beginning/end-of-statement has yet to be amended.) | ||
| 677 | |||
| 678 | * progmodes/cc-defs.el: New macros c-at-vsemi-p, | ||
| 679 | c-vsemi-status-unknown-p. | ||
| 680 | |||
| 681 | * progmodes/cc-langs.el: Added `#' into AWK Mode's value of | ||
| 682 | c-stmt-delim-chars. New c-lang-defvars: c-at-vsemi-p-fn, | ||
| 683 | c-vsemi-status-unknown-p-fn (in a new page). | ||
| 684 | |||
| 685 | * progmodes/cc-engine.el: In c-beginning-of-statement-1, | ||
| 686 | c-crosses-statement-barrier-p, c-guess-basic-syntax, replace | ||
| 687 | numerous awkward forms like | ||
| 688 | (if (c-major-mode-is 'awk-mode) (c-awk-prev-line-incomplete-p)) | ||
| 689 | with | ||
| 690 | (c-at-vsemi-p). Fix a few typos. In c-guess-basic-syntax, new | ||
| 691 | variable before-ws-ip, the place just after char-before-ip | ||
| 692 | appears. | ||
| 693 | |||
| 694 | * progmodes/cc-mode.el: Fix what's almost a semantic ambiguity in | ||
| 695 | a comment. | ||
| 696 | |||
| 697 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 698 | |||
| 699 | * progmodes/cc-cmds.el (c-electric-brace): Cleaned up using | ||
| 700 | `c-tentative-buffer-changes'. | ||
| 701 | |||
| 702 | * progmodes/cc-defs.el (c-region-is-active-p): Simplified and | ||
| 703 | converted to macro to choose between Emacs and XEmacs at compile | ||
| 704 | time. | ||
| 705 | |||
| 706 | (c-set-region-active): New set counterpart to | ||
| 707 | `c-region-is-active-p'. | ||
| 708 | |||
| 709 | (c-tentative-buffer-changes): New macro to handle temporary buffer | ||
| 710 | changes in a convenient way. | ||
| 711 | |||
| 712 | (c-tnt-chng-record-state, c-tnt-chng-cleanup): Internal helpers | ||
| 713 | for `c-tentative-buffer-changes'. | ||
| 714 | |||
| 715 | * progmodes/cc-engine.el (c-looking-at-inexpr-block): Tightened up | ||
| 716 | the checks for paren sexps between the point and the keyword, to | ||
| 717 | avoid some false alarms. | ||
| 718 | |||
| 719 | * progmodes/cc-engine.el, cc-langs.el (c-looking-at-inexpr-block): | ||
| 720 | Fixed a situation where an error could be thrown for unbalanced | ||
| 721 | parens. Changed to make use of c-keyword-member' to avoid some | ||
| 722 | repeated regexp matches. | ||
| 723 | |||
| 724 | (c-opt-lambda-key, c-opt-inexpr-block-key, | ||
| 725 | c-opt-inexpr-class-key): These language variable are no longer | ||
| 726 | necessary. | ||
| 727 | |||
| 728 | (c-block-stmt-kwds): New language constant used by | ||
| 729 | c-looking-at-inexpr-block'. | ||
| 730 | |||
| 731 | (c-guess-basic-syntax): Removed an optional check that looked at | ||
| 732 | the existence of the now removed language variables. | ||
| 733 | |||
| 734 | * progmodes/cc-engine.el (c-fdoc-shift-type-backward, | ||
| 735 | c-forward-decl-or-cast-1): Fixed invalid recognition of C++ style | ||
| 736 | object instantiation expressions as declarations in some contexts. | ||
| 737 | This bug only affected languages where the declarator can't be | ||
| 738 | enclosed in parentheses. | ||
| 739 | |||
| 740 | * progmodes/cc-styles.el (c-style-alist): Fixed the GNU style to | ||
| 741 | insert newlines before and after substatement braces. | ||
| 742 | |||
| 743 | * progmodes/cc-engine.el: Improved the heuristics for recognizing | ||
| 744 | function declaration headers and the handling of C++ style member | ||
| 745 | init lists. | ||
| 746 | |||
| 747 | (c-just-after-func-arglist-p): Rewritten to use | ||
| 748 | `c-forward-decl-or-cast-1'. Now behaves a bit differently too. | ||
| 749 | |||
| 750 | (c-beginning-of-member-init-list): Removed since it isn't used | ||
| 751 | anymore. | ||
| 752 | |||
| 753 | (c-guess-basic-syntax): Case 5B adapted for the new | ||
| 754 | `c-just-after-func-arglist-p'. Cases 5B.1 and 5B.3 merged. Cases | ||
| 755 | 5D.1 and 5D.2 removed since they aren't trigged anymore (case 5B.1 | ||
| 756 | covers all cases now). | ||
| 757 | |||
| 758 | * progmodes/cc-defs.el (c-point): Added 'bosws and 'eosws. | ||
| 759 | |||
| 760 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 761 | |||
| 762 | * progmodes/cc-cmds.el, cc-styles.el, cc-vars.el: New variables | ||
| 763 | c-string-par-start/separate c-sentence-end-with-esc-eol, | ||
| 764 | initialised in c-setup-paragraph-variables, used in string | ||
| 765 | scanning subroutines of c-beginning-of-statement. | ||
| 766 | |||
| 767 | * progmodes/cc-cmds.el (c-electric-brace): don't delete a comment | ||
| 768 | which precedes the newly inserted `{'. | ||
| 769 | |||
| 770 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 771 | |||
| 772 | * progmodes/cc-engine.el, cc-langs.el: Rewrote the recognition | ||
| 773 | function for declaration level blocks. It should now cope with | ||
| 774 | templates better and also be a lot more comprehensible. | ||
| 775 | |||
| 776 | (c-looking-at-decl-block): The new function. | ||
| 777 | |||
| 778 | (c-search-uplist-for-classkey): The old one. It's now a wrapper | ||
| 779 | for compatibility. | ||
| 780 | |||
| 781 | (c-add-class-syntax, c-guess-continued-construct, | ||
| 782 | c-guess-basic-syntax): Adapted for `c-looking-at-decl-block'. | ||
| 783 | |||
| 784 | (c-decl-block-key): Changed to tell apart ambiguous and | ||
| 785 | unambiguous keywords. Pike specials are now handled directly in | ||
| 786 | the code instead. | ||
| 787 | |||
| 788 | (c-block-prefix-disallowed-chars, c-block-prefix-charset): New | ||
| 789 | language constants and variables to make the backward skip in | ||
| 790 | `c-looking-at-decl-block' as tight as possible. | ||
| 791 | |||
| 792 | (c-nonsymbol-token-char-list): New language constant. | ||
| 793 | |||
| 794 | * progmodes/cc-engine.el (c-backward-<>-arglist): New function to | ||
| 795 | find balanced template arglists backwards. | ||
| 796 | |||
| 797 | * progmodes/cc-defs.el (c-make-bare-char-alt): New helper for | ||
| 798 | making char classes for `c-syntactic-skip-backward'. | ||
| 799 | |||
| 800 | * progmodes/cc-engine.el (c-guess-basic-syntax): Simplified case | ||
| 801 | 16D - can't be a class-close at that point. | ||
| 802 | |||
| 803 | * progmodes/cc-engine.el (c-guess-basic-syntax, | ||
| 804 | c-add-class-syntax): Don't narrow out the enclosing declaration | ||
| 805 | level. This makes everything a lot easier, and it was actually | ||
| 806 | only four small places that needed it to work. Some places that | ||
| 807 | previously did `widen' are removed now, which has the effect that | ||
| 808 | `c-guess-basic-syntax' never will look at things outside the | ||
| 809 | current narrowment now. The anchor position for `topmost-intro' | ||
| 810 | is affected by this, but it was so bogus it was basically useless | ||
| 811 | before, and now it's equally bogus but in a slightly different | ||
| 812 | way. | ||
| 813 | |||
| 814 | (c-narrow-out-enclosing-class): Gone. | ||
| 815 | |||
| 816 | (c-most-enclosing-brace, c-least-enclosing-brace): Don't filter to | ||
| 817 | the narrowed region. | ||
| 818 | |||
| 819 | (c-least-enclosing-brace): Removed silly optional argument. | ||
| 820 | |||
| 821 | * progmodes/cc-engine.el (c-beginning-of-decl-1): Fixed bug where | ||
| 822 | the point could be left directly after an open paren when finding | ||
| 823 | the beginning of the first decl in the block. | ||
| 824 | |||
| 825 | * progmodes/cc-engine.el, cc-fonts.el (c-forward-keyword-clause): | ||
| 826 | Specify which submatch to use. | ||
| 827 | |||
| 828 | * progmodes/cc-langs.el (c-symbol-start): Include '@' in ObjC. | ||
| 829 | |||
| 830 | (c-decl-start-re): No no longer any need for special treatment of | ||
| 831 | ObjC due to the above. | ||
| 832 | |||
| 833 | (c-other-block-decl-kwds): Handle "extern" in ObjC too since it | ||
| 834 | presumably follows C in that regard. | ||
| 835 | |||
| 836 | * progmodes/cc-langs.el (c-identifier-ops, c-after-id-concat-ops): | ||
| 837 | New language constants to specify operator tokens inside | ||
| 838 | identifiers in a more high level way. | ||
| 839 | |||
| 840 | (c-opt-identifier-prefix-key): New internal language constant. | ||
| 841 | |||
| 842 | (c-opt-identifier-concat-key, c-opt-after-id-concat-key, | ||
| 843 | c-identifier-start, c-identifier-key): Now completely calculated | ||
| 844 | from other constants. | ||
| 845 | |||
| 846 | (c-identifier-last-sym-match): Decommissioned since it's no longer | ||
| 847 | used. | ||
| 848 | |||
| 849 | (c-operators): Use `c-identifier-ops'. Documented | ||
| 850 | `postfix-if-paren'. | ||
| 851 | |||
| 852 | * progmodes/cc-engine.el (c-forward-name): Removed the | ||
| 853 | optimization when c-identifier-key is equal to c-symbol-key since | ||
| 854 | it doesn't work in byte compiled files. Don't record empty | ||
| 855 | regions as identifiers. | ||
| 856 | |||
| 857 | * progmodes/cc-langs.el (c-filter-ops): New helper function to | ||
| 858 | simplify access to `c-operators' and its likes. | ||
| 859 | |||
| 860 | (c-operator-list, c-all-op-syntax-tokens, | ||
| 861 | c-nonsymbol-token-regexp, c-<>-multichar-token-regexp, | ||
| 862 | c-<-op-cont-regexp, c->-op-cont-regexp, c-expr-kwds, | ||
| 863 | c-primary-expr-regexp, c-cast-parens): Use it. | ||
| 864 | |||
| 865 | * progmodes/cc-defs.el (c-lang-const): Fixes to allow use without | ||
| 866 | an explicit language in functions. | ||
| 867 | |||
| 868 | * progmodes/cc-defs.el (c-make-keywords-re): Added an appendable | ||
| 869 | variant of adornment. | ||
| 870 | |||
| 871 | * progmodes/cc-langs.el (c-any-class-key): Removed unused language | ||
| 872 | variable. | ||
| 873 | |||
| 874 | (c-type-decl-prefix-key): Removed some now unnecessary cruft from | ||
| 875 | the Pike value. | ||
| 876 | |||
| 877 | * progmodes/cc-engine.el (c-on-identifier, | ||
| 878 | c-simple-skip-symbol-backward): Small fix for handling "-" | ||
| 879 | correctly in `skip-chars-backward'. Affected the operator lfun | ||
| 880 | syntax in Pike. | ||
| 881 | |||
| 882 | * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Disabled the | ||
| 883 | diagnostic message about precompiled language vars not being used. | ||
| 884 | |||
| 885 | * progmodes/cc-langs.el (c-paren-nontype-kwds): The GCC keyword | ||
| 886 | "__attribute__" is followed by a parenthesis. | ||
| 887 | |||
| 888 | (c-type-start-kwds, c-prefix-spec-kwds, c-prefix-spec-kwds-re, | ||
| 889 | c-specifier-key, c-not-decl-init-keywords): Some cleanup using new | ||
| 890 | language constants `c-type-start-kwds' and `c-prefix-spec-kwds'. | ||
| 891 | |||
| 892 | * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el: Internal | ||
| 893 | cleanups to properly detect the declared identifiers in various | ||
| 894 | declarations. | ||
| 895 | |||
| 896 | (c-decl-start-kwds): New language constant to recognize | ||
| 897 | declarations that can start anywhere. Used for class declarations | ||
| 898 | in Pike. | ||
| 899 | |||
| 900 | (c-specifier-key, c-not-decl-init-keywords, | ||
| 901 | c-decl-prefix-or-start-re, c-find-decl-prefix-search, | ||
| 902 | c-find-decl-spots): Implement `c-decl-start-kwds'. | ||
| 903 | |||
| 904 | (c-other-decl-kwds, c-postfix-decl-spec-kwds, c-decl-hangon-kwds, | ||
| 905 | c-decl-hangon-key, c-forward-decl-or-cast-1): Separated the | ||
| 906 | handling of the compiler specific extension keywords into a new | ||
| 907 | language constant `c-decl-hangon-kwds' that defines keyword | ||
| 908 | clauses to be ignored in declarations. | ||
| 909 | |||
| 910 | (c-forward-id-comma-list, c-forward-keyword-clause): Don't skip | ||
| 911 | past unrecognized tokens when handling `c-colon-type-list-kwds'. | ||
| 912 | Necessary to stop at the declared identifier in e.g. IDL valuetype | ||
| 913 | declarations. | ||
| 914 | |||
| 915 | (c-typedef-decl-kwds, c-typeless-decl-kwds, c-type-list-kwds, | ||
| 916 | c-prefix-spec-kwds-re, c-postfix-spec-kwds, | ||
| 917 | c-after-suffixed-type-decl-key, c-opt-postfix-decl-spec-key, | ||
| 918 | c-forward-decl-or-cast-1): Recognize the declared identifier in | ||
| 919 | class and enum declarations as such and not as part of the type. | ||
| 920 | |||
| 921 | (c-forward-decl-or-cast-1, c-forward-label): Relaxed the | ||
| 922 | interpretation of PRECEDING-TOKEN-END when there's no preceding | ||
| 923 | token. | ||
| 924 | |||
| 925 | (c-forward-decl-or-cast-1): Don't disregard sure signs of | ||
| 926 | declarations when there's some syntax error later on. | ||
| 927 | |||
| 928 | (c-complex-decl-matchers): Did away with a reference to | ||
| 929 | `c-specifier-key'. | ||
| 930 | |||
| 931 | * progmodes/cc-engine.el (c-maybe-labelp): Provide no default | ||
| 932 | value - this variable is always dynamically bound. | ||
| 933 | |||
| 934 | * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el, cc-menus.el, | ||
| 935 | cc-mode.el, cc-styles.el, cc-vars.el, cc-align.el, cc-awk.el, | ||
| 936 | cc-cmds.el, cc-defs.el: Changed the policy for marking up | ||
| 937 | functions that might do hidden buffer changes: All such internal | ||
| 938 | functions are now marked instead of those that don't. | ||
| 939 | |||
| 940 | (c-beginning-of-macro, c-end-of-macro, c-(forward|backward)-comments, | ||
| 941 | c-(forward|backward)-single-comment, c-parse-state, c-on-identifier, | ||
| 942 | c-(fast-|slow-|)in-literal, c-literal-limits, c-collect-line-comments, | ||
| 943 | c-literal-type): Allow these functions to make hidden buffer changes, | ||
| 944 | so that they are free to use text property caching later on. | ||
| 945 | |||
| 946 | (c-electric-backspace, c-electric-delete-forward, c-electric-pound, | ||
| 947 | c-electric-brace, c-electric-slash, c-electric-star, | ||
| 948 | c-electric-semi&comma, c-electric-colon, c-electric-lt-gt, | ||
| 949 | c-electric-paren, c-electric-continued-statement, c-indent-command, | ||
| 950 | c-indent-region, c-mask-paragraph, c-indent-new-comment-line, | ||
| 951 | c-context-line-break): Added `c-save-buffer-state' calls to comply | ||
| 952 | with the changed semantics of the functions above. | ||
| 953 | |||
| 954 | * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed a bug | ||
| 955 | when macros occur in obscure places. Optimized the sexp movement | ||
| 956 | a bit. | ||
| 957 | |||
| 958 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 959 | |||
| 960 | Enhancements for c-beginning-of-statement to work in AWK Mode: | ||
| 961 | |||
| 962 | * progmodes/cc-awk.el: Supersede c-awk-NL-prop value `;' | ||
| 963 | (completed statement) with `}' (statement completed by closing | ||
| 964 | brace or semicolon) and `$' (statement completed by EOL). | ||
| 965 | |||
| 966 | (c-awk-virtual-semicolon-ends-prev-line-p, | ||
| 967 | c-awk-virtual-semicolon-ends-line-p, | ||
| 968 | c-awk-skip-semantic-ws-forward, c-awk-skip-semantic-ws-backward, | ||
| 969 | c-awk-at-statement-end-p): new functions | ||
| 970 | |||
| 971 | * progmodes/cc-cmds.el: Simplify the structure of functions | ||
| 972 | c-forward-over-illiterals, c-back-over-illiterals. Enhance these | ||
| 973 | two functions and c-beginning-of-statement to handle AWK Mode. | ||
| 974 | |||
| 975 | * progmodes/cc-engine.el: Enhance c-forward-single-comment, | ||
| 976 | c-backward-single-comment for AWK mode. Attempt to clarify their | ||
| 977 | doc-strings. | ||
| 978 | |||
| 979 | * progmodes/cc-mode.el: Put M-a and M-e into awk-mode-map. | ||
| 980 | |||
| 981 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 982 | |||
| 983 | * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el: Cleaned up the | ||
| 984 | label handling. Labels are now recognized in a uniform and more | ||
| 985 | robust way, regardless of context. Text properties are put on all | ||
| 986 | labels to recognize the following declarations better. Multiword | ||
| 987 | labels are handled both in indentation and fontification for the | ||
| 988 | benefit of language extensions like Qt. For consistency, keywords | ||
| 989 | in labels are now fontified with the label face instead. That | ||
| 990 | also applies to "case" and "default". | ||
| 991 | |||
| 992 | (c-beginning-of-statement-1): Fixed some bugs in the label | ||
| 993 | handling. Disregard `c-nonlabel-token-key' in labels that begin | ||
| 994 | with `c-label-kwds'. | ||
| 995 | |||
| 996 | (c-find-decl-spots): Support that the callback adds more | ||
| 997 | `c-decl-end' spots to find. | ||
| 998 | |||
| 999 | (c-forward-decl-or-cast-1): Don't treat a list of plain | ||
| 1000 | identifiers followed by a colon as a declaration. | ||
| 1001 | |||
| 1002 | (c-forward-label): New function to recognize labels. | ||
| 1003 | |||
| 1004 | (c-guess-basic-syntax): Replaced uses of `c-label-key' with | ||
| 1005 | `c-forward-label'. Moved the label recognition cases (14 and 15) | ||
| 1006 | earlier since they aren't so context sensitive now. Handle labels | ||
| 1007 | on the top level gracefully. Moved access label recognition to | ||
| 1008 | the generic label case (CASE 15) - removed CASE 5E. | ||
| 1009 | |||
| 1010 | (c-font-lock-declarations): Added recognition of labels in the | ||
| 1011 | same round since we need to handle labels in parallell with other | ||
| 1012 | declarations to recognize both accurately. It should also improve | ||
| 1013 | speed. | ||
| 1014 | |||
| 1015 | (c-simple-decl-matchers, c-basic-matchers-after): Moved | ||
| 1016 | `c-font-lock-labels' so that it only is used on decoration level 2 | ||
| 1017 | since `c-font-lock-declarations' handles it otherwise. | ||
| 1018 | |||
| 1019 | (c-complex-decl-matchers): Removed the simplistic recognition of | ||
| 1020 | access labels. | ||
| 1021 | |||
| 1022 | (c-decl-prefix-re): Removed the kludges that was necessary to cope | ||
| 1023 | with labels earlier. | ||
| 1024 | |||
| 1025 | (c-decl-start-re): New language variable to make | ||
| 1026 | `c-font-lock-declarations' stop for the special protection labels | ||
| 1027 | in Objective-C that start with '@'. | ||
| 1028 | |||
| 1029 | (c-label-key): Removed since it's no longer used. | ||
| 1030 | |||
| 1031 | (c-recognize-colon-labels, c-label-prefix-re): New language | ||
| 1032 | constants to support recognition of generic colon-terminated | ||
| 1033 | labels. | ||
| 1034 | |||
| 1035 | (c-type-decl-end-used): `c-decl-end' is now used whenever there | ||
| 1036 | are colon terminated labels. | ||
| 1037 | |||
| 1038 | * progmodes/cc-align.el (c-lineup-arglist): Fixed bug when the | ||
| 1039 | first argument starts with a special brace list. | ||
| 1040 | |||
| 1041 | * progmodes/cc-engine.el, cc-fonts.el (c-forward-decl-or-cast-1, | ||
| 1042 | c-font-lock-declarations): Broke out the declaration and cast | ||
| 1043 | recognition from `c-font-lock-declarations' to a new function, so | ||
| 1044 | that it can be used in the indentation engine. | ||
| 1045 | |||
| 1046 | * progmodes/cc-engine.el (c-find-decl-spots): Fixed bug in backing | ||
| 1047 | up to the start of the literal. Fixed bug with the point on the | ||
| 1048 | wrong side of the search limit that could happen when the start | ||
| 1049 | position is inside a literal. | ||
| 1050 | |||
| 1051 | * progmodes/cc-engine.el (c-parse-state, | ||
| 1052 | c-invalidate-state-cache): Modified the use of `c-state-cache-end' | ||
| 1053 | so that it's kept a little bit back to increase the hit rate. | ||
| 1054 | |||
| 1055 | (c-parse-state): Changed the macro handling and fixed some | ||
| 1056 | glitches. Macro context is checked more often than necessary now, | ||
| 1057 | but otoh less garbage conses are generated. | ||
| 1058 | |||
| 1059 | * progmodes/cc-engine.el (c-parse-state, | ||
| 1060 | c-invalidate-state-cache): Cache the last position where | ||
| 1061 | `c-state-cache' applies. This can speed up refontification quite | ||
| 1062 | a bit in blocks where there are many non-brace parens before the | ||
| 1063 | point. | ||
| 1064 | |||
| 1065 | (c-state-cache-end): New variable for this. | ||
| 1066 | |||
| 1067 | (c-guess-basic-syntax, c-debug-parse-state): Adapted for the new | ||
| 1068 | cache variable. | ||
| 1069 | |||
| 1070 | * progmodes/cc-engine.el (c-find-decl-spots): Take more care to | ||
| 1071 | get close initial continue positions when the start position is | ||
| 1072 | inside a literal or macro. Do not call the callback for spots | ||
| 1073 | before the start position (which can happen e.g. for `c-decl-end' | ||
| 1074 | spots inside comments). Optimize better in special cases when the | ||
| 1075 | region is a single line inside a literal or macro (typically when | ||
| 1076 | the current line is refontified). | ||
| 1077 | |||
| 1078 | * progmodes/cc-engine.el (c-guess-basic-syntax): Simplified calls | ||
| 1079 | to `c-add-stmt-syntax' - there's no need to explicitly whack off | ||
| 1080 | entries from the paren state. | ||
| 1081 | |||
| 1082 | * progmodes/cc-engine.el (c-add-stmt-syntax): Narrowed down the | ||
| 1083 | special case for "else if" clauses. | ||
| 1084 | |||
| 1085 | * progmodes/cc-engine.el (c-looking-at-inexpr-block, | ||
| 1086 | c-add-stmt-syntax): Use `c-recognize-paren-inexpr-blocks'. | ||
| 1087 | |||
| 1088 | * progmodes/cc-langs.el (c-recognize-paren-inexpr-blocks): New | ||
| 1089 | language variable to recognize the gcc extension with statement | ||
| 1090 | blocks inside expressions. | ||
| 1091 | |||
| 1092 | * progmodes/cc-engine.el (c-add-stmt-syntax): Restructured to make | ||
| 1093 | it somewhat more comprehensible. The argument AT-BLOCK-START is | ||
| 1094 | no longer used and hence removed. | ||
| 1095 | |||
| 1096 | (c-guess-continued-construct, c-guess-basic-syntax): Updated calls | ||
| 1097 | to `c-add-stmt-syntax'. | ||
| 1098 | |||
| 1099 | * progmodes/cc-engine.el (c-backward-to-decl-anchor): Use | ||
| 1100 | `c-beginning-of-statement-1' instead of duplicating parts of it. | ||
| 1101 | This fixes bogus label recognition. | ||
| 1102 | |||
| 1103 | * progmodes/cc-engine.el (c-add-type, c-check-type, | ||
| 1104 | c-forward-name, c-forward-type): Improved storage of template | ||
| 1105 | types in `c-found-types' so that they can be recognized better. | ||
| 1106 | |||
| 1107 | (c-syntactic-content): Added option to skip past nested parens. | ||
| 1108 | |||
| 1109 | * progmodes/cc-engine.el (c-forward-name): Set | ||
| 1110 | `c-last-identifier-range' all the time. It's less work that way. | ||
| 1111 | Handle that there might not be an identifier to store in | ||
| 1112 | `c-last-identifier-range'. | ||
| 1113 | |||
| 1114 | (c-forward-type): Handle that `c-last-identifier-range' might be | ||
| 1115 | nil from `c-forward-name'. | ||
| 1116 | |||
| 1117 | * progmodes/cc-defs.el: (c-safe-scan-lists, | ||
| 1118 | c-(go-)?(up|down)-list-(forward|backward)): Added limit arguments. | ||
| 1119 | |||
| 1120 | * progmodes/cc-defs.el (c-save-buffer-state): Use `unwind-protect' | ||
| 1121 | to work even if the form fails. | ||
| 1122 | |||
| 1123 | * progmodes/cc-engine.el (c-parse-state): Speedup when moving far | ||
| 1124 | down in a large file in one go. | ||
| 1125 | |||
| 1126 | (c-get-fallback-start-pos): New helper function for | ||
| 1127 | `c-parse-state'. | ||
| 1128 | |||
| 1129 | * progmodes/cc-align.el (c-lineup-assignments): New lineup | ||
| 1130 | function which is like `c-lineup-math' but returns nil instead of | ||
| 1131 | `c-basic-offset' when it doesn't match. | ||
| 1132 | |||
| 1133 | (c-lineup-math): Changed to use `c-lineup-assignments'. | ||
| 1134 | |||
| 1135 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 1136 | |||
| 1137 | * progmodes/cc-cmds.el: Fix some bugs in subfunctions of | ||
| 1138 | c-beginning-of-statement. New subfunctions | ||
| 1139 | c-in-comment-line-prefix-p, c-narrow-to-comment-innards. | ||
| 1140 | |||
| 1141 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 1142 | |||
| 1143 | * progmodes/cc-fonts.el, cc-langs.el: Use `c-simple-ws' instead of | ||
| 1144 | hardcoded char classes whereever possible. Changed a couple of | ||
| 1145 | places to use skip by syntax instead of skip by char class. | ||
| 1146 | |||
| 1147 | * progmodes/cc-langs.el (c-unterminated-block-comment-regexp): | ||
| 1148 | Fixed a bug in the regexp that caused extreme backtracking. | ||
| 1149 | |||
| 1150 | * progmodes/cc-langs.el (c-block-comment-starter, | ||
| 1151 | c-block-comment-ender): New language constants to specify in a | ||
| 1152 | single place how block comments look. | ||
| 1153 | |||
| 1154 | (c-comment-start-regexp, c-block-comment-start-regexp, | ||
| 1155 | comment-start, comment-end, comment-start-skip, | ||
| 1156 | c-syntactic-ws-start, c-syntactic-ws-end, c-nonwhite-syntactic-ws, | ||
| 1157 | c-syntactic-ws, c-nonempty-syntactic-ws, | ||
| 1158 | c-single-line-syntactic-ws, c-syntactic-eol): Now built from | ||
| 1159 | `c-line-comment-starter', `c-block-comment-starter' and | ||
| 1160 | `c-block-comment-ender'. | ||
| 1161 | |||
| 1162 | (c-block-comment-regexp, c-unterminated-block-comment-regexp): New | ||
| 1163 | language constants to break up things a bit. | ||
| 1164 | |||
| 1165 | (c-simple-ws): New language constant for simple whitespace. | ||
| 1166 | |||
| 1167 | * progmodes/cc-defs.el (c-concat-separated): New convenience | ||
| 1168 | function. | ||
| 1169 | |||
| 1170 | * progmodes/cc-defs.el (c-make-keywords-re): Added kludge for bug | ||
| 1171 | in `regexp-opt' in Emacs 20 and XEmacs when strings contain | ||
| 1172 | newlines. Allow and ignore nil elements in the list. | ||
| 1173 | |||
| 1174 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 1175 | |||
| 1176 | * progmodes/cc-cmds.el: Comment out a (n almost certainly | ||
| 1177 | superfluous) check, (eq here (point-max)) in | ||
| 1178 | c-beginning-of-statement. | ||
| 1179 | |||
| 1180 | * progmodes/cc-cmds.el: Tidy up the comments in | ||
| 1181 | c-beginning-of-statement and subfunctions. | ||
| 1182 | |||
| 1183 | * progmodes/cc-awk.el: Replace calls to put-text-property to the | ||
| 1184 | more flexible c-put-char-property and c-clear-char-properties. | ||
| 1185 | Add the author's email address. | ||
| 1186 | |||
| 1187 | * progmodes/cc-langs.el: New variable, | ||
| 1188 | c-block-comment-start-regexp. | ||
| 1189 | |||
| 1190 | * progmodes/cc-cmds.el: Fix bug with M-e, when point is inside the | ||
| 1191 | closing "*/" of a block comment. | ||
| 1192 | |||
| 1193 | * progmodes/cc-cmds.el: Tidy c-beginning-of-sentence (and | ||
| 1194 | subfunctions) so that it works at BOB and EOB. | ||
| 1195 | |||
| 1196 | * progmodes/cc-cmds.el, cc-vars.el: More updating of | ||
| 1197 | c-beginning-of-statement, including new variable | ||
| 1198 | c-block-comment-start-regexp. | ||
| 1199 | |||
| 1200 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 1201 | |||
| 1202 | * progmodes/cc-langs.el (c-known-type-key): Optimize simple | ||
| 1203 | symbols from `*-font-lock-extra-types' so that there's no need to | ||
| 1204 | use `regexp-opt' on those lists. | ||
| 1205 | |||
| 1206 | * progmodes/cc-langs.el (c-type-decl-suffix-key): Fix when | ||
| 1207 | `c-type-modifier-kwds' is empty. | ||
| 1208 | |||
| 1209 | * progmodes/cc-fonts.el (c-font-lock-invalid-string): Fix when | ||
| 1210 | there are several strings on the same line. | ||
| 1211 | |||
| 1212 | * progmodes/cc-engine.el (c-literal-limits): Removed the | ||
| 1213 | compatibility function for older emacsen. `c-literal-limits-fast' | ||
| 1214 | has now taken the place of this function. | ||
| 1215 | |||
| 1216 | * progmodes/cc-vars.el (c-emacs-features): Removed compatibility | ||
| 1217 | with older emacsen: We now require 'pps-extended-state. | ||
| 1218 | |||
| 1219 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 1220 | |||
| 1221 | * progmodes/cc-cmds.el: New function c-beginning-of-sentence, | ||
| 1222 | which obviates the need to hack sentence-end. This now handles | ||
| 1223 | escaped newlines in strings correctly. Correct minor bugs in | ||
| 1224 | c-move-over-sentence and in c-beginning-of-statement. | ||
| 1225 | |||
| 1226 | * progmodes/cc-cmds.el (c-beginning-of-statement (and | ||
| 1227 | subfunctions)): Adapt c-\(back\|forward\)-over-illiterals such | ||
| 1228 | that movement over macros and code are rigorously separated from | ||
| 1229 | eachother. Correct a few incidental bugs. | ||
| 1230 | |||
| 1231 | * progmodes/cc-cmds.el: Restructure c-beginning-of-statement: | ||
| 1232 | Improve its doc-string. Improve the handling of certain specific | ||
| 1233 | cases. | ||
| 1234 | |||
| 1235 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 1236 | |||
| 1237 | * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el | ||
| 1238 | (c-guess-basic-syntax): Changed the way class-level labels are | ||
| 1239 | recognized; they can now contain essentially any symbols. | ||
| 1240 | |||
| 1241 | (c-opt-extra-label-key): New language variable to cope with the | ||
| 1242 | special protection label syntax in Objective-C. | ||
| 1243 | |||
| 1244 | (c-opt-access-key): Removed; this is now handled better by | ||
| 1245 | `c-nonlabel-token-key' and `c-opt-extra-label-key'. | ||
| 1246 | |||
| 1247 | (c-complex-decl-matchers): Update to handle that | ||
| 1248 | `c-opt-access-key' no longer exists. | ||
| 1249 | |||
| 1250 | * progmodes/cc-engine.el (c-guess-basic-syntax): Make use of the | ||
| 1251 | improved label recognition in `c-beginning-of-statement-1'. | ||
| 1252 | |||
| 1253 | * progmodes/cc-engine.el (c-beginning-of-member-init-list): | ||
| 1254 | Recognize bitfields better. | ||
| 1255 | |||
| 1256 | * progmodes/cc-engine.el (c-beginning-of-inheritance-list): | ||
| 1257 | Removed some cruft and fixed a bug that could cause it to go to a | ||
| 1258 | position further down. | ||
| 1259 | |||
| 1260 | * progmodes/cc-langs.el, cc-engine.el | ||
| 1261 | (c-beginning-of-statement-1): Improved detection of labels in | ||
| 1262 | declaration contexts. | ||
| 1263 | |||
| 1264 | (c-beginning-of-decl-1): Use it. | ||
| 1265 | |||
| 1266 | (c-nonlabel-token-key): New language constant and variable needed | ||
| 1267 | by `c-beginning-of-statement-1'. | ||
| 1268 | |||
| 1269 | * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug that | ||
| 1270 | manifested itself due to the correction in `c-forward-sexp'. | ||
| 1271 | |||
| 1272 | * progmodes/cc-defs.el (c-forward-sexp, c-backward-sexp): Made | ||
| 1273 | these behave as documented when used at the buffer limits. | ||
| 1274 | |||
| 1275 | * progmodes/cc-mode.el, cc-engine.el, cc-langs.el | ||
| 1276 | (c-type-decl-end-used): Made this a language variable. | ||
| 1277 | |||
| 1278 | * progmodes/cc-mode.el (c-after-change): Widen the buffer to work | ||
| 1279 | correctly when `combine-after-change-calls' is used together with | ||
| 1280 | temporary narrowings. | ||
| 1281 | |||
| 1282 | * progmodes/cc-engine.el (c-beginning-of-statement-1): Report | ||
| 1283 | labels correctly when the start point is immediately after the | ||
| 1284 | colon. | ||
| 1285 | |||
| 1286 | * progmodes/cc-defs.el (c-parse-sexp-lookup-properties): Removed | ||
| 1287 | since it isn't used anymore. | ||
| 1288 | |||
| 1289 | * progmodes/cc-cmds.el (c-electric-lt-gt): Detect and mark angle | ||
| 1290 | bracket arglists such as template parens in C++. | ||
| 1291 | |||
| 1292 | * progmodes/cc-engine.el (c-syntactic-skip-backward): Fixed a bug | ||
| 1293 | in the last check-in. Some optimization. | ||
| 1294 | |||
| 1295 | * progmodes/cc-engine.el (c-syntactic-skip-backward): Fixed bug | ||
| 1296 | where it could stop at the same level in a preceding sexp when | ||
| 1297 | PAREN-LEVEL is set. | ||
| 1298 | |||
| 1299 | * progmodes/cc-mode.el (c-basic-common-init): Turn on syntax-table | ||
| 1300 | text property lookup only when it's needed. | ||
| 1301 | |||
| 1302 | * progmodes/cc-langs.el, cc-engine.el, cc-fonts.el, cc-mode.el: | ||
| 1303 | Changed the policy for paren marked angle brackets to be more | ||
| 1304 | persistent; once marked they remain marked even when they're found | ||
| 1305 | to be unbalanced in the searched region. This should keep the | ||
| 1306 | paren syntax around even when individual lines are refontified in | ||
| 1307 | multiline template arglists. | ||
| 1308 | |||
| 1309 | (c-parse-and-markup-<>-arglists): New dynamically bound variable | ||
| 1310 | to control markup so that incorrect angle bracket arglists aren't | ||
| 1311 | marked in contexts where the correct value for | ||
| 1312 | `c-disallow-comma-in-<>-arglists' isn't known. | ||
| 1313 | |||
| 1314 | (c-forward-<>-arglist, c-forward-<>-arglist-recur): The reparse | ||
| 1315 | argument has become `c-parse-and-markup-<>-arglists'. | ||
| 1316 | |||
| 1317 | (c-remove-<>-arglist-properties): Removed - no longer used. | ||
| 1318 | |||
| 1319 | (c-after-change-check-<>-operators): New function used on | ||
| 1320 | `after-change-functions' to avoid that "<" and ">" characters that | ||
| 1321 | are part of longer operators have paren syntax. | ||
| 1322 | |||
| 1323 | (c-<>-multichar-token-regexp): New language variable used by | ||
| 1324 | `c-after-change-check-<>-operators'. | ||
| 1325 | |||
| 1326 | (c-after-change): Call `c-after-change-check-<>-operators'. | ||
| 1327 | |||
| 1328 | (c-font-lock-<>-arglists): Use the context properties set by | ||
| 1329 | `c-font-lock-declarations' to set | ||
| 1330 | `c-disallow-comma-in-<>-arglists' correctly to avoid doing invalid | ||
| 1331 | markup. | ||
| 1332 | |||
| 1333 | (c-font-lock-declarations): Removed code that undoes the invalid | ||
| 1334 | markup done by `c-font-lock-<>-arglists'. | ||
| 1335 | |||
| 1336 | (c-complex-decl-matchers): `c-font-lock-<>-arglists' now runs | ||
| 1337 | after `c-font-lock-declarations'. | ||
| 1338 | |||
| 1339 | * progmodes/cc-engine.el (c-syntactic-skip-backward): Added | ||
| 1340 | paren-level feature. | ||
| 1341 | |||
| 1342 | (c-guess-basic-syntax): Improved the anchor position for | ||
| 1343 | `template-args-cont' in nested template arglists. There's still | ||
| 1344 | much to be desired in this area, though. | ||
| 1345 | |||
| 1346 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 1347 | |||
| 1348 | * progmodes/cc-cmds.el, cc-engine.el, cc-langs.el, cc-vars.el: | ||
| 1349 | Make the "Text Filling and Line Breaking" commands work for AWK | ||
| 1350 | buffers. | ||
| 1351 | |||
| 1352 | 2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 1353 | |||
| 1354 | * progmodes/cc-defs.el, cc-engine.el (c-mode-is-new-awk-p): | ||
| 1355 | Removed; | ||
| 1356 | (c-major-mode-is 'awk-mode) can be used instead now. | ||
| 1357 | |||
| 1358 | * progmodes/cc-mode.el: Always set up AWK mode since emacsen where | ||
| 1359 | it doesn't work no longer are supported. | ||
| 1360 | |||
| 1361 | * progmodes/cc-mode.el, cc-styles.el, cc-vars.el, cc-defs.el, | ||
| 1362 | cc-engine.el, cc-fonts.el, cc-langs.el, cc-cmds.el: CC Mode now | ||
| 1363 | requires support for the syntax-table' text property, which rules | ||
| 1364 | out Emacs 19 and XEmacs < 21.4. Removed various compatibility | ||
| 1365 | cruft associated with those versions. | ||
| 1366 | |||
| 1367 | * progmodes/cc-defs.el, cc-fix.el: CC Mode now requires support | ||
| 1368 | for the `syntax-table' text property, which rules out Emacs 19 and | ||
| 1369 | XEmacs < 21.4. Removed various compatibility cruft associated | ||
| 1370 | with those versions. | ||
| 1371 | |||
| 1372 | * progmodes/cc-vars.el (c-emacs-features): CC Mode now requires | ||
| 1373 | support for the `syntax-table' text property. | ||
| 1374 | |||
| 1375 | * progmodes/cc-fonts.el (c-nonbreakable-space-face): Remove the | ||
| 1376 | variable and use an extra quoted face name instead. All the | ||
| 1377 | emacsen flavors handle that correctly. | ||
| 1378 | |||
| 1379 | * progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare, | ||
| 1380 | c-font-lock-declarators, c-font-lock-declarations, | ||
| 1381 | c-complex-decl-matchers, c-basic-matchers-after): Use a text | ||
| 1382 | property to mark the items in in declarator lists to handle | ||
| 1383 | refontification inside multiline declarations better. | ||
| 1384 | |||
| 1385 | * progmodes/cc-fonts.el (c-font-lock-declarations): Recognize a | ||
| 1386 | construct like "a * b = c;" as a declaration. | ||
| 1387 | |||
| 1388 | 2005-12-08 Kim F. Storm <storm@cua.dk> | ||
| 1389 | |||
| 1390 | * emulation/cua-base.el (cua-use-hyper-key): Replaced by ... | ||
| 1391 | (cua-rectangle-modifier-key): ... this. New defcustom. Can now | ||
| 1392 | select either meta, hyper, or super modifier for rectangle commands. | ||
| 1393 | (cua--rectangle-modifier-key): New defvar. | ||
| 1394 | (cua--M/H-key): Use it. Remove special case for 'space. | ||
| 1395 | (cua--init-keymaps): Initialize it from cua-rectangle-modifier-key | ||
| 1396 | on X, to meta otherwise. Always bind C-return to toggle | ||
| 1397 | rectangle. Pass ?\s instead of 'space to cua--M/H-key. | ||
| 1398 | |||
| 1399 | * emulation/cua-rect.el (cua-help-for-rectangle): Use | ||
| 1400 | cua--rectangle-modifier-key. Handle super modifier too. | ||
| 1401 | (cua--init-rectangles): Always bind C-return to toggle rectangle. | ||
| 1402 | Pass ?\s instead of 'space to cua--M/H-key and cua--rect-M/H-key. | ||
| 1403 | |||
| 1404 | * ido.el: Move Acknowledgements and History after Commentary. | ||
| 1405 | Minor changes to Commentary. | ||
| 1406 | |||
| 1407 | * emulation/cua-base.el (cua--select-keymaps): Enable repeat | ||
| 1408 | keymap if cua--prefix-override-timer equals 'shift. | ||
| 1409 | (cua--shift-control-prefix): New function; emulate "type prefix | ||
| 1410 | key twice" functionality to handle shifted prefix key override. | ||
| 1411 | (cua--shift-control-c-prefix, cua--shift-control-x-prefix): New | ||
| 1412 | commands. | ||
| 1413 | (cua--init-keymaps): Bind them to S-C-c and S-C-x. | ||
| 1414 | |||
| 1415 | 2005-12-08 Carsten Dominik <dominik@science.uva.nl> | ||
| 1416 | |||
| 1417 | * textmodes/org.el (org-insert-heading): Try to do items before | ||
| 1418 | headings. | ||
| 1419 | (org-agenda-mode): Quote `org-agenda-mode-hook'. | ||
| 1420 | (org-insert-item): New function. | ||
| 1421 | (org-renumber-ordered-list): Don't skip to higher level lists. | ||
| 1422 | |||
| 1423 | 2005-12-08 Juri Linkov <juri@jurta.org> | ||
| 1424 | |||
| 1425 | * info.el (Info-mode-map): Bind M-TAB to `Info-prev-reference'. | ||
| 1426 | |||
| 1427 | * button.el (button-buffer-map): Bind M-TAB to `backward-button'. | ||
| 1428 | |||
| 1429 | * wid-edit.el (widget-keymap): Bind M-TAB to `widget-backward'. | ||
| 1430 | |||
| 1431 | * pcvs.el (defun-cvs-mode): Put `definition-name' property on | ||
| 1432 | the constructed function name fun-1. | ||
| 1433 | |||
| 1434 | * cus-edit.el (custom-add-parent-links): Filter out custom-group-link, | ||
| 1435 | because such links don't lead to parent documentation. | ||
| 1436 | |||
| 1 | 2005-12-08 Kenichi Handa <handa@m17n.org> | 1437 | 2005-12-08 Kenichi Handa <handa@m17n.org> |
| 2 | 1438 | ||
| 3 | * descr-text.el (describe-char): Use *Help-2* buffer if the | 1439 | * descr-text.el (describe-char): Use *Help-2* buffer if the |
| @@ -62,7 +1498,7 @@ | |||
| 62 | (gdb-locals-watch-map): Rename from gdb-*-*-keymap. | 1498 | (gdb-locals-watch-map): Rename from gdb-*-*-keymap. |
| 63 | (gdb-locals-font-lock-keywords-1) | 1499 | (gdb-locals-font-lock-keywords-1) |
| 64 | (gdb-locals-font-lock-keywords-2): New variables. | 1500 | (gdb-locals-font-lock-keywords-2): New variables. |
| 65 | (gdb-find-file-hook): fgfg. | 1501 | (gdb-find-file-hook): Make it work with GDB 6.4+ too. |
| 66 | (gdb-set-gud-minor-mode-existing-buffers-1) | 1502 | (gdb-set-gud-minor-mode-existing-buffers-1) |
| 67 | (gdb-var-list-children-1, gdb-var-list-children-handler-1) | 1503 | (gdb-var-list-children-1, gdb-var-list-children-handler-1) |
| 68 | (gdb-var-update-1, gdb-var-update-handler-1) | 1504 | (gdb-var-update-1, gdb-var-update-handler-1) |
| @@ -94,7 +1530,7 @@ | |||
| 94 | 1530 | ||
| 95 | 2005-12-06 Carsten Dominik <dominik@science.uva.nl> | 1531 | 2005-12-06 Carsten Dominik <dominik@science.uva.nl> |
| 96 | 1532 | ||
| 97 | * textmodes/org.el: (org-occur-highlights): New variable. | 1533 | * textmodes/org.el (org-occur-highlights): New variable. |
| 98 | (org-highlight-new-match, org-remove-occur-highlights): New functions. | 1534 | (org-highlight-new-match, org-remove-occur-highlights): New functions. |
| 99 | (org-highlight-sparse-tree-matches): New option. | 1535 | (org-highlight-sparse-tree-matches): New option. |
| 100 | (org-do-occur): New function. | 1536 | (org-do-occur): New function. |
| @@ -187,7 +1623,8 @@ | |||
| 187 | 1623 | ||
| 188 | * font-core.el (global-font-lock-mode): Use define-global-minor-mode | 1624 | * font-core.el (global-font-lock-mode): Use define-global-minor-mode |
| 189 | instead of easy-mmode-define-global-mode. Add `:group font-lock'. | 1625 | instead of easy-mmode-define-global-mode. Add `:group font-lock'. |
| 190 | (font-lock-mode): Replace `:group font-lock' with `nil nil nil'. | 1626 | (font-lock-mode): Replace `:group font-lock' with `nil nil nil' |
| 1627 | because there is no customization option for it. | ||
| 191 | 1628 | ||
| 192 | * font-lock.el (lisp-font-lock-keywords-1): | 1629 | * font-lock.el (lisp-font-lock-keywords-1): |
| 193 | Add define-global-minor-mode. | 1630 | Add define-global-minor-mode. |
| @@ -223,8 +1660,8 @@ | |||
| 223 | property on their symbols (they have only `custom-loads'). | 1660 | property on their symbols (they have only `custom-loads'). |
| 224 | 1661 | ||
| 225 | * simple.el (completion-setup-function): Put completions-common-part | 1662 | * simple.el (completion-setup-function): Put completions-common-part |
| 226 | face on full completion string too (i.e. completion string without | 1663 | face on complete completion string too (i.e. completion string |
| 227 | completions-first-difference face). | 1664 | without completions-first-difference face). |
| 228 | 1665 | ||
| 229 | * man.el (Man-section-regexp): Add 0-9 to support "3X11" sections. | 1666 | * man.el (Man-section-regexp): Add 0-9 to support "3X11" sections. |
| 230 | 1667 | ||
| @@ -698,7 +2135,7 @@ | |||
| 698 | 2135 | ||
| 699 | 2005-11-24 Carsten Dominik <dominik@science.uva.nl> | 2136 | 2005-11-24 Carsten Dominik <dominik@science.uva.nl> |
| 700 | 2137 | ||
| 701 | * textmodes/org.el: (org-export-plain-list-max-depth): Renamed from | 2138 | * textmodes/org.el (org-export-plain-list-max-depth): Renamed from |
| 702 | `org-export-local-list-max-depth'. Change default value to 3. | 2139 | `org-export-local-list-max-depth'. Change default value to 3. |
| 703 | (org-auto-renumber-ordered-lists) | 2140 | (org-auto-renumber-ordered-lists) |
| 704 | (org-plain-list-ordered-item-terminator): New options. | 2141 | (org-plain-list-ordered-item-terminator): New options. |
| @@ -912,7 +2349,7 @@ | |||
| 912 | 2349 | ||
| 913 | 2005-11-18 Carsten Dominik <dominik@science.uva.nl> | 2350 | 2005-11-18 Carsten Dominik <dominik@science.uva.nl> |
| 914 | 2351 | ||
| 915 | * textmodes/org.el: (org-table-sort-lines): New command. | 2352 | * textmodes/org.el (org-table-sort-lines): New command. |
| 916 | (org-tbl-menu): Add entry for `org-table-sort-lines'. | 2353 | (org-tbl-menu): Add entry for `org-table-sort-lines'. |
| 917 | (org-add-file): Command removed, use `org-agenda-file-to-front' | 2354 | (org-add-file): Command removed, use `org-agenda-file-to-front' |
| 918 | instead. | 2355 | instead. |
| @@ -2812,7 +4249,7 @@ | |||
| 2812 | 4249 | ||
| 2813 | 2005-10-21 Carsten Dominik <dominik@science.uva.nl> | 4250 | 2005-10-21 Carsten Dominik <dominik@science.uva.nl> |
| 2814 | 4251 | ||
| 2815 | * textmodes/org.el: (org-combined-agenda-icalendar-file) | 4252 | * textmodes/org.el (org-combined-agenda-icalendar-file) |
| 2816 | (org-icalendar-include-todo, org-icalendar-combined-name): New options. | 4253 | (org-icalendar-include-todo, org-icalendar-combined-name): New options. |
| 2817 | (org-export-icalendar-this-file) | 4254 | (org-export-icalendar-this-file) |
| 2818 | (org-export-icalendar-all-agenda-files) | 4255 | (org-export-icalendar-all-agenda-files) |
| @@ -3494,7 +4931,7 @@ | |||
| 3494 | 4931 | ||
| 3495 | 2005-10-10 Carsten Dominik <dominik@science.uva.nl> | 4932 | 2005-10-10 Carsten Dominik <dominik@science.uva.nl> |
| 3496 | 4933 | ||
| 3497 | * textmodes/org.el: (org-mode-map): Explicit definition of `C-c | 4934 | * textmodes/org.el (org-mode-map): Explicit definition of `C-c |
| 3498 | C-x' as a prefix. | 4935 | C-x' as a prefix. |
| 3499 | (orgtbl-mode-map): Full keymap instead of sparse, because all | 4936 | (orgtbl-mode-map): Full keymap instead of sparse, because all |
| 3500 | `self-insert-command' keys are redefined in this map. | 4937 | `self-insert-command' keys are redefined in this map. |
| @@ -15377,7 +16814,7 @@ | |||
| 15377 | 16814 | ||
| 15378 | * cus-edit.el (custom-bury-buffer): Function deleted. | 16815 | * cus-edit.el (custom-bury-buffer): Function deleted. |
| 15379 | (custom-buffer-done-function): Option deleted. | 16816 | (custom-buffer-done-function): Option deleted. |
| 15380 | (custom-buffer-done-kill): New (replacement option. | 16817 | (custom-buffer-done-kill): New replacement option. |
| 15381 | (Custom-buffer-done): Call quit-window. | 16818 | (Custom-buffer-done): Call quit-window. |
| 15382 | (custom-buffer-create-internal): Update for above changes. | 16819 | (custom-buffer-create-internal): Update for above changes. |
| 15383 | 16820 | ||