2003-07-03 Martin Stjernholm * progmodes/cc-menus.el (cc-imenu-init): Do not set `imenu-create-index-function' if the second argument is left out. This bug broke the imenu support in C, C++ and Java modes. * progmodes/cc-engine.el, progmodes/cc-align.el (c-add-stmt-syntax, c-lineup-arglist) (c-lineup-arglist-close-under-paren): Fixes to cope with special brace lists in Pike. 2003-07-03 Alan Mackenzie * progmodes/cc-mode.el (awk-mode): Call c-awk-after-change to ensure syntax-table props at loading. * progmodes/cc-fonts.el: Put (cc-require-when-compile 'cc-awk) to eliminate compile-time errors. * progmodes/cc-awk.el, progmodes/cc-engine.el: Add code to analyze AWK top-level forms properly (c-guess-basic-syntax CASE 5P), c-awk-backward-syntactic-ws. 2003-07-03 Martin Stjernholm * progmodes/cc-fix.el: cc-mode-19.el has been renamed to progmodes/cc-fix.el since it now contains compatibility stuff for later versions than (X)Emacs 19. * progmodes/cc-langs.el (c-paren-nontype-kwds): New language constant. (c-other-decl-kwds, c-postfix-decl-spec-kwds): Add compiler specific declspec keywords: __attribute__ for gcc and __declspec for msvc. * progmodes/cc-fonts.el (c-font-lock-declarations) (c-complex-decl-matchers): Support specifiers in a couple more contexts to cope with msvc '__declspec'. * progmodes/cc-engine.el (c-forward-keyword-clause): Support `c-paren-nontype-kwds'. * progmodes/cc-langs.el (c-primary-expr-regexp): Don't match a bare period as a float. * progmodes/cc-bytecomp.el (cc-bytecomp-setup-environment): Do not cover functions that have been bound. (cc-external-require): New macro to use for requiring external packages, to handle the environment correctly. * progmodes/cc-defs.el, progmodes/cc-fix.el, progmodes/cc-fonts.el, progmodes/cc-mode.el: Replaced external require's with `cc-external-require'. * progmodes/cc-engine.el (c-beginning-of-member-init-list) (c-guess-basic-syntax): Fixes in handling of bitfields. * progmodes/cc-langs.el (comment-end): Put a space in front of the comment ender in C, as it was before the move from cc-mode.el. 2003-07-03 Alan Mackenzie * progmodes/cc-fonts.el: Do not load progmodes/cc-awk.elc or awk-font-lock-keywords unless there is an AWK Mode buffer. * progmodes/cc-awk.el: New file that implements AWK support, superseding the old separate derived mode in awk-mode.el. * progmodes/cc-vars.el, cc-mode-19.el, progmodes/cc-langs.el, * progmodes/cc-mode.el, progmodes/cc-defs.el, * progmodes/cc-engine.el, progmodes/cc-fonts.el: Changes for the new AWK support. 2003-07-03 Martin Stjernholm * progmodes/cc-engine.el, progmodes/cc-langs.el (c-decl-block-key, c-search-uplist-for-classkey): Check that the modifier is followed by "{" in Pike before considering it to start a class-like block. * progmodes/cc-mode.el (c-initialize-cc-mode): Add some compatibility to make this function behave somewhat more as documented for derived modes. It's still not enough to make the old AWK mode behave reasonably, but it's been like this a long time now so fixing it more might cause trouble elsewhere. :P * progmodes/cc-fonts.el (c-remove-font-lock-face): New macro to remove a font lock face properly (especially in XEmacs). * progmodes/cc-bytecomp.el (cc-bytecomp-obsolete-fun): Add the same kludge as in `cc-bytecomp-obsolete-var' to avoid a confused compiler warning. * progmodes/cc-engine.el (c-forward-type): Fix a bug in the handling of concatenated types when the component types are known. * progmodes/cc-fonts.el (c-constant-face-name): Add face name variable to avoid the use of `font-lock-constant-face' for constants in emacsen that doesn't have it. * progmodes/cc-styles.el, progmodes/cc-vars.el, * progmodes/cc-cmds.el: Fixes for the syntactic symbols for module and composition blocks. * progmodes/cc-mode.el (c-basic-common-init): Use `open-paren-in-column-0-is-defun-start' if it exists and works. * progmodes/cc-vars.el (c-emacs-features): Add `col-0-paren' to detect when `open-paren-in-column-0-is-defun-start' exists and actually works. * progmodes/cc-vars.el, progmodes/cc-langs.el (c-primitive-type-kwds, c-font-lock-extra-types): "complex" and "imaginary" aren't keywords in C99, only macros that expand to the keywords "_Complex" and "_Imaginary", so make the former a bit less hardcoded by putting it on `c-font-lock-extra-types' instead. There are also "bool" and "_Bool" that work the same way. (c-constant-kwds): "false" and "true" are standard constant macros in C99. * progmodes/cc-menus.el, progmodes/cc-langs.el, * progmodes/cc-engine.el, progmodes/cc-fonts.el, * progmodes/cc-cmds.el: Fixed various regexps to use POSIX char classes when that is supported. * progmodes/cc-defs.el (c-alpha, c-alnum, c-digit, c-upper, c-lower): New constants to make it easier to create regexps that use POSIX char classes in emacsen that support them. * progmodes/cc-vars.el (c-emacs-features): Detect in the regexp engine understands POSIX char classes. * progmodes/cc-mode.el (c-after-change): Add kludge for bug where this function sometimes gets positions outside the buffer range. * progmodes/cc-engine.el (c-beginning-of-member-init-list): Better handling of paretheses in unexpected places. * progmodes/cc-engine.el (c-forward-<>-arglist-recur): Fix a regexp match order problem that could cause empty template args on the form "<>" to be missed. * progmodes/cc-engine.el (c-parse-state): Add kludge to avoid an infinite loop when Emacs' open-paren-in-column-zero rule kicks in and causes the sexp functions to misbehave. * progmodes/cc-engine.el (c-beginning-of-member-init-list): Fix bug when C++-like code is encountered in non-C++ mode. * progmodes/cc-defs.el (c-make-keywords-re): Add option to specify the language to look up `c-nonsymbol-key' in. * progmodes/cc-cmds.el, progmodes/cc-engine.el (c-auto-newline-analysis): New dynamically bound variable to turn off the topmost-intro-cont/statement-cont kludge for brace lists during the analysis for the auto newline feature. This fixes some cases where the setting for `brace-list-open' on `c-hanging-braces-alist' didn't have any effect. * progmodes/cc-langs.el (c-literal-start-regexp): Yet another language variable. * progmodes/cc-fonts.el (c-font-lock-doc-comments) (c-find-invalid-doc-markup, javadoc-font-lock-keywords): Fix fontification of the markup in Javadoc comments. * progmodes/cc-engine.el: Fixes in face handling to cope with doc comments. (c-find-decl-spots): More failsafe skipping of comments and strings that only have been partially fontified. * progmodes/cc-defs.el (c-got-face-at): New subst to test faces at positions easier. * progmodes/cc-defs.el (c-safe-scan-lists): New wrapper macro to avoid the warnings with too many args to `scan-lists' in Emacs. * progmodes/cc-engine.el (c-syntactic-skip-backward): New function to make syntactic searches in the backward direction easier. (c-beginning-of-statement-1): Optimize skipping over large paren sexps somewhat. (c-safe-position): Remove the odd macro handling which was centered around the point instead of the passed position. * progmodes/cc-engine.el (c-in-knr-argdecl): Do not trip up on initialization expressions. * progmodes/cc-align.el (c-lineup-arglist) (c-lineup-close-paren, c-lineup-arglist-close-under-paren): Tune the "macro block" heuristics to work better in nested arglist situations. * progmodes/cc-styles.el (c-set-offset): Don't find a default syntactic element through syntactic analysis if called outside a CC Mode buffer. * progmodes/cc-mode.el (c-basic-common-init): Install `c-fill-paragraph' on `fill-paragraph-function'. Although it's not the normal way to call it in a CC Mode buffer it makes a direct call to `fill-paragraph' work better. * progmodes/cc-vars.el, progmodes/cc-mode.el (c-require-final-newline): Make this variable an alist to specify a value for each language. The default value causes `require-final-newline' to be set to t only in languages where the standard requires a final newline. * progmodes/cc-mode.el, progmodes/cc-vars.el (c-require-final-newline): Add a variable to make the initialization of `require-final-newline' more configurable. * progmodes/cc-vars.el (c-mode-common-hook): Do not change the format string to "CC Mode Common Hook" since that causes confusion (although it is a more accurate name). * progmodes/cc-fonts.el (javadoc-font-lock-keywords) (autodoc-font-lock-keywords): Support for Javadoc and Pike Autodoc doc comments. * progmodes/cc-vars.el (c-doc-comment-style): New variable to control the fontification of documentation comments on top of the normal mode font lock. * progmodes/cc-langs.el, progmodes/cc-fonts.el (c-primary-expr-regexp, c-font-lock-declarations): Avoid false recognition of parens as casts when they are followed by an operator that is both prefix and infix. * progmodes/cc-cmds.el (c-guess-fill-prefix): Tune the heuristics of when to use `c-block-comment-prefix' for an unclosed block comment. * progmodes/cc-engine.el, progmodes/cc-langs.el (c-nonsymbol-sexp-kwds, c-forward-keyword-clause): Handle keywords like "extern" that can be followed by e.g. a string literal. * progmodes/cc-defs.el (c-make-keywords-re): Make a regexp correctly with one submatch when adorn is set and the list is empty. * progmodes/cc-fonts.el (c-font-lock-declarations): Fix a search that could go far past the relevant region and cause slowness. Do not limit the declaration detection to the fontified region since that can cause misfontification in multiline declarations. * progmodes/cc-engine.el (c-find-decl-spots): Add limit argument to handle declarations spanning the fontification limit better. * progmodes/cc-engine.el (c-in-literal, c-literal-limits) (c-literal-limits-fast, c-beginning-of-inheritance-list): Use the paren cache instead of the impaired ad hoc in `beginning-of-defun', so that these functions doesn't trip up on "{" in the first column inside strings or comments. * progmodes/cc-vars.el (c-hanging-braces-alist): Add `statement-cont' and made it auto newline free by default. * progmodes/cc-cmds.el (c-electric-brace): Add `statement-cont' to the list of syntactic symbols to consider for auto newlines since it can be used for in-statement brace lists. * progmodes/cc-vars.el (c-emacs-features): There's no need to have this constant autoloaded. * progmodes/cc-fonts.el (c-font-lock-declarations): Use `c-recognize-typeless-decls' to avoid fontifying some macro constructs as declarations in languages where a preceding type is mandatory. * progmodes/cc-langs.el (c-recognize-typeless-decls): New language variable. * progmodes/cc-align.el (c-lineup-close-paren): Use `c-syntactic-eol' when checking if the open paren ends its line. * progmodes/cc-langs.el (c-syntactic-eol): Handle a line continuation backslash. * progmodes/cc-align.el (c-snug-do-while): Compatibility fix for changed structure in `c-syntactic-context'. * progmodes/cc-engine.el (c-parse-state): Filter angle bracket arglist parens in a better way than disabling the syntax table properties completely. * progmodes/cc-fonts.el (c-cpp-matchers): Handle line continuations in cpp expressions. Do not fontify symbols after #ifdef etc as variables since that isn't consistent with how the face is used elsewhere (i.e. only for the definition of the symbol). * progmodes/cc-mode.el: Add autoload directives for the interface functions in cc-langs. * progmodes/cc-fonts.el (c-font-lock-declarations): Add a property to handle refontication in multiline declaration arglists better. (c-font-lock-<>-arglists): Fix to handle recursive template arglists better. (As a side effect this will make fontification work better in older emacsen too.) * progmodes/cc-engine.el (c-forward-<>-arglist) (c-remove-<>-arglist-properties): Use a common text property `c-type' for all sorts of CC Mode char classification, to avoid cases when then same char is given conflicting types. (c-forward-<>-arglist): New reparse argument to control that aspect explicitly. (c-forward-name, c-forward-type): Changes in the handling of recursive template arglists. Fixes to cope with the new 'known type classification. * progmodes/cc-mode.el (c-basic-common-init): Add the new char property `c-type' to `text-property-default-nonsticky'. * progmodes/cc-defs.el (c-put-char-property) (c-get-char-property, c-clear-char-property) (c-clear-char-properties): Generalize `c-put-char-syntax' and `c-get-char-syntax' to handle any property. * progmodes/cc-bytecomp.el (cc-bytecomp-defun): Fix bug that caused existing function definitions to be overridden by phonies when the bytecomp environment is restored. * progmodes/cc-cmds.el (c-mask-paragraph): Masking is necessary in normal code too to avoid getting a fill prefix from a nearby comment. Change the name from `c-mask-comment' to a more accurate one. * progmodes/cc-defs.el, progmodes/cc-mode.el: Change the auto-load-alist strategy to not add entries on package load, to be defensive in the case that autoloads are updated in older emacsen. The bug that would occur in that case would probably be rather nasty for the average user. * progmodes/cc-fonts.el (c-font-lock-declarations): Fine tuning of the decision tree that tells declarations from expressions to produce better results in some ambiguous cases. * progmodes/cc-fonts.el (c-font-lock-syntactic-face-function): Remove since it doesn't give the control we want. (c-font-lock-invalid-string): Replacement for `c-font-lock-syntactic-face-function' that puts the error face on the string opener only, to avoid the annoying excessive use of the error face while a string literal is being written. (c-basic-matchers-before): Use `c-font-lock-invalid-string'. * progmodes/cc-engine.el (c-string-syntax) (c-string-limit-regexp): Add constants to use when handling string limits, since not all old emacsen react well to the "|" syntax class. (c-literal-limits, c-literal-limits-fast, c-literal-type): Use `c-string-syntax' and `c-string-limit-regexp'. Replace some hardcoded comment start regexps with `c-comment-start-regexp'. * progmodes/cc-mode.el: Added an association for pike-mode on `intepreter-mode-alist'. * progmodes/cc-mode.el: Add the `auto-mode-alist' entries to the end instead of the start of the list, to avoid overriding user additions that are made before this file is loaded when the entries don't correspond to any already on `auto-mode-alist'. This is done through the third append argument to `add-to-alist'. That doesn't exist in older (X)Emacsen, so the function is advised in cc-defs. However, that advice doesn't help if the autoloads are updated in an old (X)Emacs with this version of CC Mode, but I believe it's unlikely that anyone does that when CC Mode isn't distributed with with it. * progmodes/cc-defs.el (add-to-list): Add advice to get the optional third append argument in older (X)Emacsen. * progmodes/cc-langs.el (c-keywords-obarray): Kludge for strange bug in Emacs that gives so odd errors that I frankly don't even muster to begin trying to narrow it down. If someone is so inclined, restore the commented code, byte compile, and try to open a C++ file or something in font lock mode. * progmodes/cc-langs.el: Update the IDL support from the specs. This also adds the keywords for the variants PSDL and CIDL. (This is mostly done from reading the grammars only; very lightly tested.) * progmodes/cc-langs.el (c-type-list-kwds): Add "new" in Java. * progmodes/cc-fonts.el: Make sure that `parse-sexp-lookup-properties' is properly insulated from clobbering by the font-lock package at all relevant entry points. * progmodes/cc-langs.el (c-opt-after-id-concat-key): New language constant to make the recognition of identifier qualifiers more flexible. Recognize the identifier before ".*" as a qualifier in Java. (c-identifier-key): Recognize "::*" inside identifiers in C++. Recognize identifiers ending with ".*" in Java for the sake of import directives. (c-type-list-kwds, c-ref-list-kwds): Recognize "import" and "package" declarations in Java. * progmodes/cc-vars.el (c-doc-face, c-doc-marker-face) (c-doc-markup-face): Remove since they aren't used (and probably won't be). * progmodes/cc-langs.el (c-ref-list-kwds): New language constant to specify keywords followed by references. (c-last-identifier-range): New variable to avoid going back to search for the identifier to font lock after a call to `c-forward-name'. (c-type-prefix-kwds, c-type-list-kwds): Fix classification of "@interface" etc in Objective-C. * progmodes/cc-engine.el (c-forward-keyword-clause): Fix handling of keyword prefixes in `c-type-list-kwds' and `c-colon-type-list-kwds' clauses. (c-keyword-sym, c-keyword-member): New functions to lookup and categorize keywords. (c-forward-keyword-clause): New function to move over a keyword and its associated clause according to `c-<>-arglist-kwds' etc. * progmodes/cc-langs.el (c-typeless-decl-kwds) (c-type-list-kwds, c-colon-type-list-kwds) (c-colon-type-list-re, c-paren-type-kwds): New language constants and variables to generalize the recognition of various language constructs. (c-keywords): Did away with the list of `*-kwds' constants. It's now built through macro expansion. (c-keywords-obarray): New language variable which contains each keyword as a symbol, to make fast reverse lookup of keywords to the `*-kwds' lists they come from. * progmodes/cc-defs.el (c-lang-defconst-eval-immediately): Add macro to be able to do direct evaluation in `c-lang-defconst' forms. * progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix a bug which could cause the point to end up outside the containing sexp if PAREN-LEVEL was used. * progmodes/cc-engine.el, progmodes/cc-fonts.el, progmodes/cc-langs.el: Generalize the C++ template arglist support to handle angle bracket arglists in any language. (c-recognize-<>-arglists, c-<>-arglist-kwds) (c-opt-<>-arglist-start): New language variables to control angle bracket arglists. (c-opt-type-suffix-key): Use `c-recognize-<>-arglists' in Objective-C instead of matching a protocol reference list as a type suffix. * progmodes/cc-align.el (c-gnu-impose-minimum): Fix a missing `save-excursion' that caused the point to jump around. * progmodes/cc-mode.el, progmodes/cc-menus.el (objc-mode) (cc-imenu-init): Fix initialization bug that has made the Objective-C support inoperational since 5.26. (cc-imenu-objc-generic-expression): Update submatch indices due to changes in `cc-imenu-c++-generic-expression'. (cc-imenu-objc-function): Don't add an empty "C" menu since imenu doesn't like that. * progmodes/cc-align.el (c-lineup-arglist) (c-lineup-arglist-close-under-paren, c-lineup-close-paren): Add DWIM to the functions that line up at or after the arglist open paren to avoid that if there are brace blocks inside, e.g. when a macro contains a code block. * progmodes/cc-vars.el (objc-font-lock-extra-types): Change default to treat identifiers starting with capital letters as types, according to Objective-C naming conventions. The types previously on the list is part of the language and therefore on `c-primitive-type-kwds' instead. * progmodes/cc-fonts.el: Fix font locking in Objective-C. Be more careful about returning nil from functions used directly as font-lock matchers. * progmodes/cc-mode.el (c-font-lock-init): Make the syntax table modification element of `font-lock-defaults' parameterized over the languages. * progmodes/cc-langs.el: Update the Objective-C constants according to the language spec. The "@" chars that start directives are now considered part of the keywords to make things easier. * progmodes/cc-defs.el (c-(up|down)-list-(forward|backward)): Make the position optional and added docstrings. (c-go-(up|down)-list-(forward|backward)): Add variants of the above that move point and return successfulness instead. * progmodes/cc-fonts.el (c-font-lock-<>-arglists): New function to fontify all occurrences of template arglists in C++. * progmodes/cc-engine.el (c-disallow-comma-in-<>-arglists): New variable to be able to avoid false recognition of template arglists in some cases. * progmodes/cc-fonts.el, progmodes/cc-langs.el (c-decl-prefix-re, c-font-lock-declarations): Match template open brackets to get a declaration in the first template argument. (c-complex-decl-matchers): Fontify the second type in a "class X = Y" expression in C++. * progmodes/cc-engine.el (c-forward-<>-arglist): Break out the recursive part to a new function to improve efficiency when a nested template arglist search turns out to be futile. * progmodes/cc-menus.el (cc-imenu-java-generic-expression): Improve to avoid false matches on e.g. "else if (foo)". * progmodes/cc-engine.el (c-forward-token-2) (c-backward-token-2): New functions that work like the -1 variants but that handle multicharacter operator tokens. * progmodes/cc-engine.el (c-inside-bracelist-p) (c-guess-basic-syntax): Do away with the hardcoded regexps to recognize "typedef" declaration prefixes, "extern" and "namespace" blocks, "enum"-style brace list declarations and Java-style array initializers with "new". * progmodes/cc-langs.el (c-brace-list-decl-kwds) (c-brace-list-key, c-inexpr-brace-list-kwds) (c-opt-inexpr-brace-list-key): New language constants and variables to parameterize some more of the hardcoded regexps in cc-engine. * progmodes/cc-align.el (c-lineup-cascaded-calls): Do not allow cascaded call lists containing both "->" and ".". * progmodes/cc-align.el, progmodes/cc-cmds.el, progmodes/cc-defs.el, progmodes/cc-engine.el, progmodes/cc-fonts.el, progmodes/cc-langs.el, progmodes/cc-mode.el, progmodes/cc-styles.el: New language variable system to make it easier to set up optimized language variables and to extend them in third party derived modes. cc-langs is no longer required at runtime. * progmodes/cc-mode.el (c-basic-common-init): No longer initializes the language variables. It's necessary that the caller does that directly since the evaluated values for them now get compiled in directly. (c-font-lock-init, c-common-init): Separate the font-lock initialization from `c-common-init'. * progmodes/cc-mode.el (c-define-abbrev-table): Do not override an existing abbrev table. (c-Java-defun-prompt-regexp): Move here from cc-langs since cc-langs isn't always loaded at runtime. * progmodes/cc-langs.el (c-make-init-lang-vars-fun) (c-init-language-vars): Change to allow language variable initialization from derived modes. (c-mode-menu): New language variable for the mode menu. (c-make-mode-syntax-table, c-mode-syntax-table) (make-c++-template-syntax-table): New language variables for syntax tables. The code that initializes them has been moved to cc-mode to make it possible to avoid loading cc-langs at runtime. * progmodes/cc-engine.el, progmodes/cc-langs.el (c-hungry-delete-key, c-auto-newline, c-auto-hungry-string): Move these state variables from cc-langs to cc-engine to make it possible to avoid loading cc-langs at runtime. * progmodes/cc-defs.el (c-lang-defconst, c-lang-const): Move from cc-langs and rewritten to make the language constant system usable from derived modes. (c-add-language): New function intended for use from derived modes that add new C-like languages. * progmodes/cc-defs.el, progmodes/cc-vars.el (c-buffer-is-cc-mode): Move from cc-vars to cc-defs to define it during compilation. * progmodes/cc-bytecomp.el (cc-require-when-compile): New support macro for compile time `require's. * progmodes/cc-defs.el, progmodes/cc-mode.el (c-version): Move from cc-mode to cc-defs to make it accessible to the other components. * progmodes/cc-engine.el (c-forward-token-1, c-backward-token-1): Compatibility fix for emacsen that doesn't understand generic string delimiters. * progmodes/cc-vars.el (c-emacs-features): Add detection of generic string and comment delimiters. * progmodes/cc-defs.el, progmodes/cc-langs.el (c-make-keywords-re): Change interface to make it more extensible. * progmodes/cc-langs.el, progmodes/cc-defs.el (c-regexp-opt) (c-regexp-opt-depth, c-make-keywords-re): Move from cc-langs to cc-defs since they are generally useful. * progmodes/cc-bytecomp.el, progmodes/cc-defs.el (cc-eval-when-compile): Move from cc-bytecomp to cc-defs to allow use at runtime. * progmodes/cc-bytecomp.el (cc-eval-when-compile): Workaround for a bug with nested `eval-when-compile' in XEmacs 21. * progmodes/cc-mode.el: Added autoloaded forms to install the appropriate file suffixes on `auto-mode-alist'. Necessary in XEmacs 21.5, and it can be useful elsewhere too. * progmodes/cc-align.el (c-lineup-cascaded-calls): Handle "." too, for use in Java. * progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Do not handle cpp directives in languages that doesn't have any. * progmodes/cc-langs.el (c-operators): Add a high level description of all operators, along with their precedence and associativity. * progmodes/cc-align.el (c-lineup-multi-inher): Fix bug where the position of the point and not the beginning of the line was used to calculate the indentation. * progmodes/cc-defs.el, progmodes/cc-engine.el (c-backward-single-comment, c-backward-comments): Add kludge for the bug in `forward-comment' in most (X)Emacs versions where it moves back over the "*/" of a block comment if there's no matching "/*". This has become more important now since it can cause incorrect caching by `c-backward-sws'. * progmodes/cc-cmds.el (c-hungry-backspace) (c-hungry-delete-forward): New functions to do hungry deletion regardless of hungry-delete mode. Contributed by Kevin Ryde. * progmodes/cc-engine.el (c-forward-sws, c-backward-sws) (c-invalidate-sws-region): Use text properties to cache regions with complex syntactic whitespace. This helps a lot in improving responsiveness when there are lots of comments and cpp directives before point. * progmodes/cc-guess.el, progmodes/cc-langs.el, progmodes/cc-menus.el, progmodes/cc-mode.el, progmodes/cc-styles.el, progmodes/cc-vars.el, progmodes/cc-engine.el, progmodes/cc-fonts.el, progmodes/cc-cmds.el, progmodes/cc-defs.el: Introduce a classification of functions into those that make "hidden buffer changes" and those who don't. This is prompted by the increasing use of text properties for various things, to correctly cover the silly buffer modifications that is caused by text property changes. (c-save-buffer-state): New macro that's put around any code that can manipulate text properties. * progmodes/cc-mode.el (c-basic-common-init): Setup `text-property-default-nonsticky' to avoid messing with the rear-nonsticky property on each character in Emacs 21. * progmodes/cc-defs.el (c-clear-char-syntax, c-put-char-syntax): Macros that sets and removes the syntax-table property on a single character and makes the property nonsticky in both directions in a suitable way for each (X)Emacs flavor. * progmodes/cc-vars.el, progmodes/cc-defs.el, * progmodes/cc-engine.el, progmodes/cc-mode.el: Use `lookup-syntax-properties' in XEmacs to control whether the syntax-table property has any effect or not. (c-parse-sexp-lookup-properties): New macro that expands to either `parse-sexp-lookup-properties' or `lookup-syntax-properties'. * progmodes/cc-defs.el, progmodes/cc-engine.el, progmodes/cc-fonts.el: Put the faces into the buffer in the same way as the font-lock package does. This fixes a compatibility problem with XEmacs which sets an extra font-lock property. * progmodes/cc-fonts.el (c-put-font-lock-face): A macro that finds out the right way to put font lock faces at compile time. We're definitely not byte code portable between Emacs and XEmacs now. * progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Implement a cache for the last large skipped over syntactic whitespace. This also has most effect after many macros. * progmodes/cc-engine.el, progmodes/cc-defs.el (c-forward-syntactic-ws, c-backward-syntactic-ws): Utilize the limit better when one is passed. These are now macros to avoid a little overhead when no limit is given. (c-forward-sws, c-backward-sws): New functions called by the macros above to do the unbounded search. * progmodes/cc-fonts.el (c-font-lock-declarations): Implement a cache for the first backward search for a preceding `c-decl-prefix-re' match. This typically speeds up interactive refontification a lot on the top level of macro heavy header files. * progmodes/cc-vars.el (c-emacs-features): Add check for syntax text properties. * progmodes/cc-mode.el (c-basic-common-init): Turn on `parse-sexp-lookup-properties' if it's supported. Define the variable in any case since it's used at runtime to check on this. * progmodes/cc-langs.el (c-identifier-key): Support C++ destructor names. (c-identifier-start, c-op-token-regexp, c-type-modifier-kwds) (c-opt-type-modifier-key, c-opt-type-component-key) (c-typedef-specifier-kwds, c-typedef-specifier-key) (c-paren-stmt-kwds, c-paren-stmt-key, c-syntactic-ws-start): A bunch of new language constants and variables to support the improved handling of names and types. * progmodes/cc-fonts.el (c-font-lock-declarators) (c-font-lock-declarations): Handle C++ template declarations and template references. Fontify complex types and names more accurately by delegating it to `c-forward-type' and `c-forward-name'. Fontify the identifiers in typedef declarations as types. * progmodes/cc-engine.el (c-forward-<>-arglist): New function to move forward over a C++ template arglist. It also marks the '<' and '>' chars with paren syntax using the syntax-table property, to speed up later calls in emacsen that support syntax text properties (Emacs >= 20 and (undocumented) XEmacs 21). This also has the very interesting effect that if font locking is used with decoration level 3 or higher in these emacsen then template arglists will behave just like paren sexps with the various sexp movement commands. (c-forward-name): New function to move over a name. Simple in most languages except C++ where a name can contain template arglists and therefore almost arbitrary expressions. (c-on-identifier): Fix for Pike operator identifiers. (c-simple-skip-symbol-backward, c-syntactic-content) (c-remove-<>-paren-properties): New helper functions. * progmodes/cc-defs.el (c-clear-char-syntax) (c-mark-paren-open, c-mark-paren-close): New support functions to handle syntactic properties on C++ template arglist brackets. (c-put-type-face, c-put-reference-face): Helpers to put faces on regions, since there are a bit of that inside `c-forward-name' etc in progmodes/cc-engine.el. * progmodes/cc-engine.el, progmodes/cc-fonts.el, * progmodes/cc-langs.el: Fix the names on a number of regexp language variables to conform to the nomenclature and shortened some names. * progmodes/cc-align.el, progmodes/cc-cmds.el, * progmodes/cc-fonts.el, progmodes/cc-engine.el (c-syntactic-re-search-forward): Remove the COUNT argument since it's never used. Add an argument to tell which subexpression whose end should be tested for syntactic relevance. Using this also removes some optimizations, so that it's possible to use a look behind subexpression that matches the end of a literal or a close paren when PAREN-LEVEL is used. (c-guess-continued-construct): Don't match <<= or >>= for the stream-op syntactic element. * progmodes/cc-defs.el (c-paren-re, c-identifier-re): Remove these helper macros since better and more correct tools are now available in progmodes/cc-langs.el. * progmodes/cc-align.el (c-lineup-string-cont): New lineup function to line up string literals that will be concatenated. * progmodes/cc-langs.el (c-populate-syntax-table): XEmacs classifies the hard space character as a symbol character but it's better to let it be in the punctuation class so that it's always highlighted with the inverted invalid face. It can perhaps be argued that that character is allowed in identifiers in some languages (haven't checked), but using it would still be extremely confusing. * progmodes/cc-engine.el (c-beginning-of-statement-1): Fix a case when a labeled substatement caused incorrect association of the following continuation clause. * progmodes/cc-engine.el (c-syntactic-re-search-forward): Handle the case when the syntactic match position is in the middle of a comment starter. (c-guess-continued-construct): Analyze the "K&R region" of a function nested inside a function as func-decl-cont and not statement-cont. New case E. Also clean up case C (stream-op recognition) a bit. * progmodes/cc-engine.el (c-parse-state, c-check-state-cache): Move the check on `c-state-cache-start' from `c-check-state-cache' to `c-parse-state' so that the state cache isn't zapped if `c-check-state-cache' but not `c-parse-state' is called during a temporary narrowing. This fixes a performance problem that could occur when `fill-paragraph' is used in font lock mode on a comment at the end of a large class or function. (c-state-cache-start): Fix buffer localness. * progmodes/cc-langs.el: Updates from the C99 standard (or actually from the latest web accessible draft of it). * progmodes/cc-langs.el: Update the keywords and operator tokens from the latest C++ and Java standards. Some other multichar token corrections. * progmodes/cc-cmds.el, progmodes/cc-engine.el, progmodes/cc-vars.el (c-syntactic-context) (c-syntactic-element): Do not bind any values to these variables globally since they should always be dynamically bound. This makes it much easier to debug cases when they've gotten global values somehow. * progmodes/cc-langs.el (c-regexp-opt): Fix to work around the non-greedy behavior that the regexp engine sometimes exposes. This bug only shows in (X)Emacs 19 where there's no regexp-opt package. * progmodes/cc-engine.el (c-syntactic-re-search-forward): Add a feature to filter out matches in the middle of tokens. Changed the comment to a docstring since I consider this function generally useful. * progmodes/cc-defs.el (c-mode-symbol): Break out a part of `c-mode-var'. * progmodes/cc-align.el (c-lineup-cascaded-calls) (c-lineup-gcc-asm-reg): Cope with that `c-most-enclosing-brace' might return nil. * progmodes/cc-engine.el (c-found-types, c-clear-found-types) (c-add-type, c-check-type, c-add-complex-type) (c-list-found-types, c-forward-type): Add a sort of symbol table for types: If a name is recognized as a type in a declaration it's added in an obarray to be able to recognize it in other ambiguous declarations. (c-remove-ws): New helper function to canonicalize fully qualified identifiers for `c-found-types'. * progmodes/cc-defs.el (c-mode-var): New defsubst to access mode prefixed variables uniformly. * progmodes/cc-align.el (c-lineup-arglist-close-under-paren): Work correctly with nested arglist-cont-nonempty symbols. (c-lineup-arglist-operators): New lineup function to line up infix operators under the open paren of the surrounding sexp. * progmodes/cc-engine.el (c-forward-syntactic-ws): Fix a bug that could cause an infinite loop if something that looks like a macro begins in the middle of a line. (c-parse-state): Fix a bug that could cause `c-state-cache' to contain two conses in sequence when there's an unbalanced open paren in a macro. * progmodes/cc-defs.el (c-face-name-p): A defsubst to recognize the name of a face in a way that works also in XEmacs. * progmodes/cc-engine.el (c-forward-type): New function to move past a type spec. * progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix behavior when the limit is reached inside a comment, string, or a macro. * progmodes/cc-align.el, progmodes/cc-cmds.el, * progmodes/cc-engine.el (c-forward-single-comment) (c-forward-comments, c-backward-single-comment, c-backward-comments): New replacements for `c-forward-comment' that wraps `forward-comment' more efficiently in each of the four different cases it's actually used. These replacements also treats line continuations as whitespace. (c-forward-comment): Remove. The four different cases above are basically different, so it's better to make them into separate functions than choose between them at runtime using the argument. * progmodes/cc-align.el (c-gnu-impose-minimum): Fix bug due to the new placement of cpp-macro and comment-intro in the syntactic context, as pointed out by Kevin Ryde. Change the method that decides whether point is inside a top-level construct to one that doesn't depend on the set of syntactic elements so much. * progmodes/cc-defs.el (c-point): Use the functions `line-beginning-position' and `line-end-position' in emacsen that have them (currently Emacs 20 and later). * progmodes/cc-cmds.el (c-mask-comment): Fix a bug that sometimes caused code after a closed block comment to be taken into account when the fill prefix is calculated. * progmodes/cc-align.el (c-lineup-arglist, c-lineup-argcont) (c-lineup-math, c-lineup-cascaded-calls, c-lineup-gcc-asm-reg): Fixes to cope correctly with nested arglists for the lineups that can be used with arglist-cont-nonempty. * progmodes/cc-engine.el (c-add-stmt-syntax, c-guess-basic-syntax): Change the anchor position of arglist-cont-nonempty and arglist-close so that a relative indentation like + can be used with consistent results. Prior to this, the indentation engine more or less assumed that arglist-cont-nonempty always used `c-lineup-arglist'. Those two syntax symbols also get the opening paren as an extra position, to make it possible for `c-lineup-arglist' to continue to do a proper job. * progmodes/cc-engine.el (c-get-syntactic-indentation): A vector with an absolute indentation column now only overrides the indentation for surrounding structures, i.e. those whose syntactic elements are earlier in the `c-syntactic-context' list, but not nested ones. This so that e.g. `c-lineup-arglist' can reliably line up with the first argument but still allow relative indentation changes for nested things, e.g. the arglist-close of a nested argument list. This change means that the order in `c-syntactic-context' has become more essential. (c-guess-basic-syntax): Changes to make the nesting order of the returned syntax list correct. Compatibility note: This change means that `c-lineup-dont-change' now (again) isn't absolutely sure to keep the current indentation. However, I believe that most people use it for comments, macros and string literals, and since those are nested innermost it won't matter. * progmodes/cc-align.el, progmodes/cc-defs.el, * progmodes/cc-engine.el, progmodes/cc-vars.el (c-guess-basic-syntax, c-calc-offset) (c-get-syntactic-indentation, c-syntactic-context): Extend the representation of the syntactic context: Previously it was a list containing cons cells of the found syntactic symbols and their relpos values. Now each element is instead a list containing the syntactic symbol in the first element and the relpos (if any) in the second. After that there might be more elements, depending on the syntactic symbol. The line-up functions get these additional elements as extra arguments. This change is slightly incompatible. Although the calling convention for line-up functions is strictly extended, the format of the `c-syntactic-context' variable has changed slightly. It's believed that this incompatibility is minor, though; not a single line-up function distributed with CC Mode needed to be changed, for instance. * progmodes/cc-styles.el (c-set-style, c-set-style-1): Add another state for the `dont-override' flag where it only keeps globally set variables. * progmodes/cc-mode.el (c-postprocess-file-styles): Do nothing except in CC Mode modes. * progmodes/cc-vars.el, progmodes/cc-fonts.el, progmodes/cc-langs.el, progmodes/cc-mode.el: Add font lock support. * progmodes/cc-engine.el (c-beginning-of-syntax): New function to be used for font-lock-beginning-of-syntax-function. It uses the state cache to quickly find a good position. * progmodes/cc-defs.el (c-major-mode-is): Allow a list of modes. Made it a macro ensure that it's optimized to either eq or memq for constant arguments. * progmodes/cc-mode.el (c-common-init): Do away with the hardcoded setting of `comment-column'; it's a user variable that we have no business meddling with. Since the default value for it is 32 in all supported (X)Emacs versions, it's also safe from a compatibility perspective. * progmodes/cc-mode.el (c-basic-common-init): New function that contains only the syntax and line breaking/filling initialization. It's intended for use by other modes that embed CC Mode. * progmodes/cc-engine.el (c-add-stmt-syntax): Fix some cases of wrong anchoring, e.g. for else-if compounds. * progmodes/cc-engine.el (c-guess-basic-syntax): Fix anchor position for defun-open in K&R style functions. * progmodes/cc-engine.el (c-in-knr-argdecl): Don't trip up on macros. (c-search-decl-header-end): Handle C++ template arguments more correctly. (c-beginning-of-decl-1): Fix when the declaration is first in a macro. * progmodes/cc-engine.el (c-beginning-of-decl-1): Better way to handle protection labels, one which doesn't get confused by inherit colons. (c-end-of-decl-1): Don't treat functions that have "class" or "struct" in the return type as classes or structs. * progmodes/cc-langs.el (c-make-keywords-re): Fix the keyword adornment so that it works when a keyword ends with "_". * progmodes/cc-cmds.el (c-mask-comment): More fixes when used from `c-do-auto-fill' and point is at or near the limit of the comment. Fix bug when the prefix from `c-guess-fill-prefix' is longer than the text on the first line of the comment when it's masked. * progmodes/cc-cmds.el (c-mask-comment): Fix bug where point was moved to the following line when it was at the first line of a block comment where comment-start-skip matched to eol. 2003-07-01 Luc Teirlinck * info.el (Info-fontify-menu-headers): Only fontify `* Menu:' at the beginning of a line. (Info-extract-menu-node-name): Correctly initialize while loop. (Info-scroll-prefer-subnodes): Change default to nil. * simple.el (vis-mode): Update documentation string to reflect earlier changes. 2003-06-30 Richard M. Stallman * loadup.el (pure-space-overflow): Set it if overflow. * startup.el (pure-space-overflow): New variable. (fancy-splash-screens-1): Display warning if overflow. (normal-splash-screen): Likewise. * vc.el (vc-default-show-log-entry): Use with-no-warnings. * subr.el (lazy-completion-table, dynamic-completion-table): New macros. 2003-06-28 Richard M. Stallman * menu-bar.el (menu-bar-options-menu): Move mouse-set-fonts item here. * international/mule-cmds.el (mule-menu-keymap): Delete mouse-set-fonts item here. 2003-06-29 Nick Roberts * gdb-ui.el (gdb-display-number-end): Don't re-initialise local variables to preserve array slices. (gdb-array-slice): Rename gdb-mouse-array-slice. (gdb-array-slice): Interactive function bound to "\r" for text terminals. (gdb-view-source): Rename gdb-view-source-function. Set uninitialised variables (defvars) to nil. 2003-06-29 Kai Gro,A_(Bjohann * international/mule-cmds.el (set-display-table-and-terminal-coding-system): Remove CVS conflict markers and some code. 2003-06-27 Kai Gro,A_(Bjohann * international/mule-cmds.el (menu-bar-options-menu): Move `mouse-set-fonts' here from Options/Mule submenu. 2003-06-26 Stephen Eglen * iswitchb.el (iswitchb-read-buffer): Remove redundant variable iswitchb-prepost-hooks. (iswitchb-xemacs): Delete variable and use (featurep 'xemacs) and fboundp instead. (iswitchb-completions): Remove two redundant arguments and local variables. (All above from Stefan Monnier). 2003-06-20 Masatake YAMATO * progmodes/asm-mode.el (asm-font-lock-keywords): Support labels starting with "." and directives starting with ".". 2003-06-22 Andreas Schwab * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): Avoid variable as format argument for error. Don't call symbol-name on string. * eshell/esh-opt.el (eshell-do-opt): Avoid variable as format argument for error. * simple.el (vis-mode): Doc fix. 2003-06-22 Glenn Morris * calendar/diary-lib.el (diary-check-diary-file): New function. (diary, view-diary-entries, show-all-diary-entries) (mark-diary-entries): Use it. (view-other-diary-entries): Doc fix. Use `prefix-numeric-value'. (diary-syntax-table, diary-attrtype-convert, diary-mail-days): Doc fix. (diary-modified, d-file): No need to defvar (for compiler). (list-diary-entries): No need for `let*' so use `let'. (simple-diary-display): Use `diary-file' directly rather than inheriting `d-file' from `list-diary-entries' caller. (make-fancy-diary-buffer, show-all-diary-entries): `mode-line-format' already buffer-local. (diary-mail-addr): Set to the empty string (rather than nil) if undefined, as per `user-mail-address'. (diary-mail-entries): Doc fix. Error if `diary-mail-address' unset. (mark-sexp-diary-entries): Don't regexp-quote sexp-mark twice. Remove an un-needed `if'. (list-sexp-diary-entries): Remove local vars mark and s-entry, and use `let' rather than `let*'. (diary-date, insert-monthly-diary-entry) (insert-yearly-diary-entry, insert-anniversary-diary-entry) (insert-block-diary-entry, insert-cyclic-diary-entry) (font-lock-diary-date-forms): No need for `let*' so use `let'. (make-diary-entry): Doc fix. Use `or' rather than `if'. (diary-font-lock-keywords): Use `when'. `cal-islam' is required feature, not `cal-islamic'. `calendar-islamic-month-name-array-leap-year' does not exist - use `calendar-islamic-month-name-array'. 2003-06-21 Kenichi Handa * international/utf-16.el: Many name changes: utf-16-{be,le} -> utf-16{be,le}. (mule-utf-16-le, utf-16-le, mule-utf-16-be, utf-16-be): New coding system aliases for backward compatibility. * international/utf-7.el: Adjusted for the name change: xxx-utf-16-{le,be} -> xxx-utf-16{le,be}. * international/ucs-tables.el (ucs-unify-8859, ucs-fragment-8859): Adjust for the name change: xxx-utf-16-{le,be} -> xxx-utf-16{le,be}. * international/mule-conf.el: Adjusted for the name change: xxx-utf-16-{le,be} -> xxx-utf-16{le,be}. * international/mule-cmds.el (reset-language-environment): Adjust for the name change: xxx-utf-16-{le,be} -> xxx-utf-16{le,be}. 2003-06-20 Luc Teirlinck * vc.el (vc-rename-file): Fix typo. 2003-06-19 Andreas Schwab * info.el (Info-fontify-node): Improve calculation of other-tag. 2003-06-19 Stefan Monnier * progmodes/cc-mode.el (c-mode): Reverting last change. 2003-06-18 Stefan Monnier * progmodes/gud.el (gud-find-expr-function): Rename from gud-find-expr. (gud-find-fortran-expr): Move to fortran.el. * progmodes/fortran.el (fortran-gud-find-expr): Move from gud.el where it was called gud-find-fortran-expr. (fortran-mode): Set gud-find-expr-function. 2003-06-18 Nick Roberts * gdb-ui.el (gud-display1): Keep the gdb command, "display", in the command history. (gdb-restore-windows): Make restore work when gdb-many-windows is nil. (gdb-source-info, gdba): Display assembler if there is no symbol table for main, or message if there is no main. (gdb-assembler-custom): Move point to current line of assembler. * progmodes/gud.el (gud-menu-map): Add dbx support for "run" and "nexti". (dbx): Define gud-nexti and gud-run. (gud-find-expr, gud-find-fortran-expr): New functions. (gud-find-expr): New variable. (gud-find-c-expr): Simplify. * progmodes/fortran.el (fortran-gud-syntax-table): Syntax table for parsing Fortran expressions for gud-print. (Stefan Monnier) (fortran-mode): Add local variable gud-find-expr. * progmodes/cc-mode.el (c-mode): Add local variable gud-find-expr. 2003-06-18 Stefan Monnier * subr.el (looking-back): Handle the case of non-trivial regexps. Add an optional `limit' argument. (push, pop, with-temp-file, with-temp-message, delay-mode-hooks) (with-syntax-table): Add edebug info. 2003-06-17 Stefan Monnier * simple.el (kill-new): Leave yank-handler property alone if no explicit yank-handler is specified. (vis-mode-saved-buffer-invisibility-spec): Rename from saved-buffer-invisibility-spec. (vis-mode): Correctly handle the case where the mode is turned on or off several times in a row. 2003-06-17 Luc Teirlinck * info.el (Info-fontify-node): Give only the last whitespace character after the node name the display property. Give all other such whitespace the invisibility property. 2003-06-17 Pinku Surana * progmodes/sql.el: Add support for SQLite interpreter. 2003-06-17 Kai Gro,A_(Bjohann Version 2.0.35 of Tramp released. * net/tramp.el (tramp-password-end-of-line): Use "xy" with plink. (tramp-completion-function-alist): Add completion function for "remcp", "remsh" and "plink1". Factor out the `regular' file name handling via a remote shell of some sort into a specific function. Intent is to later put that part of Tramp into a special file, so that the Tramp `core' is just a dispatcher that dispatches to various handlers. (tramp-sh-file-name-handler): New function. (tramp-foreign-file-name-handler-alist): New default value. Call tramp-sh-file-name-handler as default case. (tramp-file-name-handler): Do not invoke the old remote-shell handler. (tramp-find-foreign-file-name-handler): Return after first match is found. From Francis Litterio . (tramp-handle-file-newer-than-file-p): `tramp-time-diff' returns integer, not list. Do not apply `car' to the return value of `tramp-time-diff'. Reported by David D. Smith . (tramp-time-diff): Convert return value of subtract-time to a number of seconds in a correct manner, by applying float-time or time-to-seconds. Also correct compat code accordingly. The XEmacs branch for itimer-time-difference didn't need correction, it returned a float already. Reported by David D. Smith . (tramp-handle-insert-file-contents): When calling `file-local-copy', let-bind `inhibit-file-name-operation' accordingly. This makes sure that jka-compr is not called when `insert-file-contents-literally' is invoked. From Katsumi Yamaoka . (tramp-do-copy-or-rename-via-buffer): Avoid calling jka-compr when writing the target file. (tramp-foreign-file-name-handler-alist): Add comment about default value having to come last. (tramp-handle-file-local-copy, tramp-handle-write-region): Add the "-p" hack. (tramp-handle-copy-file): Set file modes of target file. (tramp-handle-file-local-copy) (tramp-do-copy-or-rename-via-buffer): Use binary coding system, instead of no-conversion. They are the same on Emacs but different on XEmacs. (tramp-shell-prompt-pattern): Allow multiple escape sequences (each with optional trailing space). * net/tramp-uu.el: * net/tramp-util.el: * net/tramp-efs.el: Use iso-2022-7bit encoding with coding cookie for XEmacs compatibility. 2003-06-17 Kenichi Handa * term/x-win.el (x-select-request-type): New variable. (x-select-utf8-or-ctext): New function. (x-selection-value): New function. (x-cut-buffer-or-selection-value): Call x-selection-value to get a selection data. Set next-selection-coding-system to nil. * select.el (x-get-selection): If the string returned by x-get-selection-internal has text property `foreign-selection', decode it while preserving that property. 2003-06-16 Stefan Monnier * menu-bar.el (ispell-menu-bar): Don't autoload. (cvs-global-menu): Use the function rather than the variable. * pcvs-defs.el (cvs-global-menu): Define as a function as well. * emacs-lisp/debug.el (debug): Fix call to message. 2003-06-16 Michael Mauger (tiny change) * emulation/cua-base.el (cua-mode): Use explicit arg to turn off minor modes. 2003-06-16 Stefan Monnier * emacs-lisp/cl-extra.el (cl-macroexpand-all): Don't burp if (cadr (caddr found)) encounters a non-list element. * emacs-lisp/cl-macs.el (cl-parse-loop-clause): Use map-keymap. (defsubst*): Don't put a `cl-whole argument if it's not used. * emacs-lisp/cl-specs.el (pushnew): Use keywordp. * emacs-lisp/disass.el (disassemble): Accept plain expressions. * add-log.el (add-log-edit-prev-comment, add-log-edit-next-comment): New commands. (change-log-mode-map): Bind them. (smerge-resolve-function): Declare to quieten the byte-compiler. (change-log-mode): Add the keymap to the docstring. 2003-06-16 Luc Teirlinck * simple.el (vis-mode): New function. (saved-buffer-invisibility-spec): New variable. 2003-06-16 Juanma Barranquero * progmodes/sh-script.el (sh-while-getopts, sh-if, sh-case): Revert part of previous change. 2003-06-16 Pieter E.J. Pareit * progmodes/mixal-mode.el: New file. 2003-06-16 Markus Rost * files.el (recover-session-finish): Don't give up when there are two consecutive empty lines in the auto-save-list file. 2003-06-14 Stefan Monnier * emacs-lisp/copyright.el (copyright-update-year): New function extracted from copyright-update. When `arg' is set, replace the year, not the `copyright' text. Ignore `copyright-update = nil' if called interactively. Use "," rather than ", " if that's what was used before. Recognize mixes of 2 and 4 digit years. Use replace-match. (copyright-update): Add interactivep arg. Use it instead of use last-command. Use replace-match. Don't assume (point-min) == 1. * textmodes/tex-mode.el (tex-compile-commands): Handle tex-start-commands like tex-start-tex does. * cus-edit.el (custom-get-fresh-buffer): Kill overlays before erasing the buffer. 2003-06-13 Ilya N. Golubev (tiny change) * shell.el (shell-command-separator-regexp): New variable. (shell-directory-tracker): Make regexp used for skipping to next command correspond to one used for command itself. 2003-06-13 Katsumi Yamaoka * textmodes/texinfmt.el (texinfo-format-scan): Silence `whitespace-cleanup'. 2003-06-12 Glenn Morris * calendar/timeclock.el (display-time-hook) (timeclock-modeline-display): Define for byte-compiler. (timeclock-time-to-date, timeclock-workday-remaining) (timeclock-time-to-seconds, timeclock-seconds-to-time): Move earlier in the file so defined before used. (timeclock-status-string): No need for `let*' so use `let'. (timeclock-query-out): Always return a non-nil value. 2003-06-10 Rajesh Vaidheeswarran * whitespace.el (whitespace-version): Bump to 3.3 (whitespace-cleanup): Respect user preference for silence * whitespace.el: Remove :tag in commentary :link. Remove empty lines in comment, since commentary seems to have a problem with that. 2003-06-09 Stefan Monnier * textmodes/tex-mode.el (tex-search-noncomment): New macro. (tex-last-unended-begin, tex-next-unmatched-end): Use it so we don't get confused by \begin and \end in comments. (tex-compile): Change dir before calling tex-compile-default. 2003-06-09 Luc Teirlinck * bindings.el (global-map): Bind `kill-whole-line' to C-S-. Remove M-S- binding: too close to C-M-. * dired.el (dired-re-dot): Make it handle trailing /. (dired-get-filename): Update documentation string. Revert previous change and fix typo in earlier version. 2003-06-10 Kim F. Storm * info.el (Info-fontify-node): Make `invisible' property non-sticky so that whitespace added by filling stays visible. Make refilling less agressive by starting at beginning of current line rather than beginning of current paragraph. 2003-06-09 Andreas Schwab * dired.el (dired-get-filename): Complain only about "." and "..", not all directories. 2003-06-08 Nick Roberts * gdb-ui.el (gdb-get-current-frame, gdb-frame-handler): Use Gdb command `info frame' instead of `frame' to preserve point. (gdb-invalidate-assembler): Only run disassemble again if frame has changed. (gdb-append-to-inferior-io): Revert change from 2003-05-17. 2003-06-07 Stefan Monnier * textmodes/texinfo.el (texinfo-enable-quote-macros): Fix thinko. (texinfo-insert-@table): Remove unused arg. (texinfo-show-structure): Remove unused var `source-buffer'. * info.el (Info-goto-node, Info-follow-reference, Info-menu-update) (Info-fontify-node): Don't search past header-end. Use match-string and line-end-position. * skeleton.el (skeleton-proxy-new): Consume the mark-active state. * textmodes/tex-mode.el (tex-mode-syntax-table) (tex-latex-indent-syntax-table): Don't use easy-mmode-defsyntax. 2003-06-07 Jason Rumney * mwheel.el (mouse-wheel-up-event, mouse-wheel-down-event): Use wheel-* events on darwin. 2003-06-06 Era Eriksson (tiny change) * shell.el (shell-resync-dirs): Tolerate an extra line of output before the list of directories from `shell-dirstack-query' (it looks for, and ignores, a literal copy of the value of shell-dirstack-query). 2003-06-06 Lute Kamstra * info.el (Info-complete-menu-item): Revert change of 2003-06-03. 2003-06-06 Klaus Zeitler * progmodes/sh-script.el: Fix bug in "Options Loop" skeleton for ksh. Add newlines to a few skeletons, add "select" keyword for bash. 2003-06-06 Andreas Schwab * info.el (Info-select-node): Doc fix. 2003-06-06 Miles Bader * frame.el (set-frame-font): Default to frame's current default font. 2003-06-06 Kim F. Storm * info.el (Info-fontify-node): Don't refill over lines ending in a period; this should fix problems with lists like one in the "(emacs)Library Keywords" section. 2003-06-05 Markus Rost * dired.el (dired-get-filename): Don't err for . and .. for calls from dired-add-entry. 2003-06-05 Takaaki Ota * textmodes/table.el (table-cell-horizontal-chars): Rename from table-cell-horizontal-char. Now a string value instead of a character. ?= is allowed for horizontal boundary as well as ?-. (table-command-remap-alist, table-command-list): Change defconst to defvar because the value is modified. (table-insert, table-insert-row, table-insert-column) (table-recognize, table-recognize-region, table-widen-cell) (table-span-cell, table-split-cell-vertically): Change due to table-cell-horizontal-chars. (table--cell-horizontal-char-p): New function. (table--generate-source-scan-lines, table-delete-row) (table-delete-column, table--spacify-frame) (table--find-row-column, table--probe-cell-left-up) (table--probe-cell-right-bottom, table--probe-cell): Change due to table-cell-horizontal-chars. From David Abrahams 2003-06-05 Juanma Barranquero * gud.el: Moved to progmodes. 2003-06-05 Benjamin Riefenstahl (tiny change) * progmodes/tcl.el (tcl-mode): Set imenu-generic-expression to the value of tcl-imenu-generic-expression instead of the symbol. 2003-06-05 Luc Teirlinck * info.el (Info-mode): Mention `c' and remove duplicate mention of `q' in documentation string. 2003-06-05 Lute Kamstra * shell.el (shell-mode): Put `shell-filter-ctrl-a-ctrl-b' on `comint-output-filter-functions' when bash is used as the inferior shell. (shell-filter-ctrl-a-ctrl-b): New function. 2003-06-05 Dave Love * vc-hooks.el (vc-make-backup-files): Add :group backup. 2003-06-05 Kim F. Storm * info.el (Info-fontify-node): Individually refill menus and paragraphs to preserve menu items and varying indentation. Only color first 9 menu items differently. 2003-06-05 Juanma Barranquero * desktop.el: Add new maintainer. 2003-06-04 Stefan Monnier * textmodes/sgml-mode.el (sgml-parse-tag-backward): Try and detect when we're starting from within a tag. (sgml-get-context): When called from inside a tag, do something useful. Rename the arg now that it's never used for `full' context anymore. (sgml-calculate-indent): Make `lcon' an argument. Return nil when we DON'T know what to do. If the initial lcon turns out to be wrong, try again. (sgml-indent-line): If sgml-calculate-indent returns nil, don't indent. 2003-06-04 Jason Rumney * mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event): Default to new wheel-up and wheel-down events on MacOS. * term/mac-win.el: No need to bind wheel events specially. 2003-06-04 Luc Teirlinck * simple.el (yank-excluded-properties): Expand documentation string. 2003-06-04 Richard M. Stallman * emacs-lisp/lisp-mnt.el (lm-keywords-finder-p): Use with-no-warnings. * gud.el (gud-minor-mode-type): Move defvar up. * progmodes/compile.el (compilation-next-error): When moving fwd, compare position of point with the errors. * dired.el (dired-get-filename): Err for . and .. in usual case. (dired-get-file-for-visit): Specify no-error to dired-get-filename, and check for real errors here. (dired-unmark-all-files): Specify no-error to dired-get-filename. * buff-menu.el (list-buffers-noselect): Use window-inside-edges to compute the number of offset spaces. (list-buffers-noselect): Use Buffer-menu-buffer+size to indent the dashes properly. Put some in fixed-pitch. 2003-06-04 Lars Hansen * desktop.el (desktop-create-buffer): Undo last change. (desktop-kill, desktop-save, desktop-remove): Use expand-directory rather than concat to construct desktop filename. (desktop-kill, desktop-read, desktop-change-dir): Ensure desktop-dirname is a directory name. (desktop-change-dir): Fix bug when DIR was relative. 2003-06-04 Alex Coventry (tiny change) * files.el (after-find-file): Fix arguments of call to `sit-for'. 2003-06-03 Stefan Monnier * info.el (Info-extract-menu-node-name): Remove unused arg errmessage. (Info-follow-reference): Update corresponding call. (Info-node-spec-re): New const. (Info-complete-menu-item): Use it to only allow : when necessary. (Info-fontify-node): Use it as well. Fixup typo. * info.el (info-fontify-node): Use better help-echo text. Use :align-to display prop. Use `invisible' rather than `display' prop to hide text. * info.el (Info-mode-hook): Obey obsolete `Info-fontify'. (Info-find-in-tag-table-1): Remove unused vars. (Info-display-images-node): Remove unused var paragraph-markers. (Info-header-line): Remove. (Info-select-node): Don't set it. (Info-search): Remove unused var `current'. (Info-follow-reference): Remove unused var `beg'. (Info-extract-menu-node-name): Remove unused var `i'. (Info-complete-menu-item): Use `with-current-buffer'. (Info-index): Remove unused var `rnode'. (Info-mode): Set header-line-format to check text-properties directly. (Info-find-emacs-command-nodes): Remove unused var `found' and `exact'. (Info-fontify-node): Use `push'. (Info-speedbar-hierarchy-buttons): Use `dolist'. (Info-speedbar-goto-node, Info-speedbar-fetch-file-nodes): Check the return value of `string-match'. (Info-speedbar-fetch-file-nodes): Factor out common code. 2003-06-03 Lute Kamstra * cus-edit.el (custom-get-fresh-buffer): Test for nonexistence buffer. 2003-06-03 Richard M. Stallman * emacs-lisp/lisp-mode.el (eval-last-sexp-1): Add save-excursion. * windmove.el (windmove-reference-loc, windmove-frame-edges): Use window-inside-edges. (windmove-do-window-select): Fix error messages. * files.el (after-find-file): Simplify msg if nonexistent directory. (make-directory): Doc fix. * dabbrev.el (dabbrev--goto-start-of-abbrev): Use minibuffer-prompt-end. * comint.el (comint-move-point-for-output): Renamed from comint-scroll-to-bottom-on-output. Old name is alias. All uses changed. Doc fix. (comint-scroll-show-maximum-output): Doc fix. * comint.el (comint-exec-1): Don't use directory-sep-char. (comint-dynamic-complete-as-filename): Likewise. * bindings.el (global-map): Delete C-M-delete and C-M-backspace. 2003-06-03 Markus Rost * progmodes/ps-mode.el (ps-mode): Use autoload cookie in the standard way. 2003-06-02 Stefan Monnier * textmodes/bibtex.el (bibtex-member-of-regexp) (bibtex-assoc-of-regexp, bibtex-format-entry, bibtex-find-entry) (bibtex-autokey-demangle-name, bibtex-string-files-init, bibtex-mode): Fix up regexp usage and use match-string. 2003-06-02 Roland Winkler * textmodes/bibtex.el: Long overdue merge. Don't require `compile' since it seems unnecessary. For all internal variables and functions the docstring comments have been converted into proper docstrings. (bibtex-maintainer-address, bibtex-maintainer-salutation) (bibtex-version): Remove support for bug reporting. (bibtex-field-delimiters, bibtex-entry-delimiters) (bibtex-sort-ignore-string-entries, bibtex-maintain-sorted-entries) Replace make-variable-buffer-local by make-local-variable for (bibtex-entry-format): New tag `required-fields'. (bibtex-maintain-sorted-entries): New var. (bibtex-sort-entry-class, bibtex-sort-entry-class-alist): New vars. (bibtex-predefined-month-strings, bibtex-predefined-strings): Make into alists with pairs (abbreviation expansion). (bibtex-autokey-titleword-change-strings) (bibtex-autokey-transcriptions): Make into alists. Add new replacement pairs. (bibtex-autokey-use-crossref): New var. Replace bibtex-autokey-year-use-crossref-entry because updated code for autokey generation handles crossrefs independently of particular fields. (bibtex-reference-key, bibtex-mode-syntax-table): Remove = because it can't be part of a string's key. (bibtex-complete-key-cleanup): New var. (bibtex-complete): Merge bibtex-complete-string and bibtex-complete-key into it (and bind to M-tab). (bibtex-valid-entry-re, bibtex-any-valid-entry-re) (bibtex-valid-entry-whitespace-re, bibtex-empty-field-re) (bibtex-quoted-string-re): New vars. (bibtex-field-name-for-parsing): Don't make-variable-buffer-local. (zmacs-regions): Declare to quieten the byte-compiler. (bibtex-comment-start): Don't include the space. (bibtex-font-lock-syntactic-keywords): New var. (bibtex-font-lock-keywords): Remove the entry for @Comment. (bibtex-parse-field-string): Merge the functionality of bibtex-parse-field-string-braced, bibtex-parse-quoted-string and bibtex-parse-field-string-quoted. (bibtex-search-forward-field-string): Remove. (bibtex-parse-association): Use when. (bibtex-parse-field-name): Use when. (bibtex-parse-field-text): Use when and cond. (bibtex-parse-field): Use let. (bibtex-search-forward-field, bibtex-search-backward-field): Make bound optional, use let, setq, and cddr. (bibtex-start-of-field, bibtex-start-of-name-in-field) (bibtex-end-of-name-in-field): Use nth. (bibtex-name-in-field, bibtex-text-in-field-bounds) (bibtex-text-in-field, bibtex-type-in-head, bibtex-key-in-head) (bibtex-text-in-string): New functions. (bibtex-reference-key-in-string): New fun. Merge of bibtex-start-of-reference-key-in-string and bibtex-end-of-reference-key-in-string. (bibtex-parse-string-prefix): Use let and when. (bibtex-parse-string-postfix): Use when. (bibtex-search-forward-string, bibtex-search-backward-string): Use save-excursion and setq. (bibtex-member-of-regexp): Use let. (bibtex-assoc-of-regexp): Use caar und let. (bibtex-skip-to-valid-entry): Return buffer position. (bibtex-map-entries): Use save-excursion. (bibtex-progress-message): Simplify. (bibtex-search-entry): Use skip-chars-forward, when, save-match-data. (bibtex-move-outside-of-entry): Handle the case that point is before first entry. (bibtex-enclosing-field): Use save-excursion, when. (bibtex-format-field-delimiters): Merge into bibtex-format-entry. (bibtex-enclosing-entry-maybe-empty-head): Simplify. (bibtex-format-entry): Simplify. Handle new tag required-fields of bibtex-entry-format. (bibtex-autokey-abbrev): Accept negative values of len. (bibtex-autokey-get-field, bibtex-autokey-demangle-title): New funs. (bibtex-autokey-get-namefield, bibtex-autokey-get-namelist) (bibtex-autokey-get-yearfield-digits, bibtex-autokey-get-yearfield) (bibtex-autokey-get-titlestring): Remove. (bibtex-autokey-get-names): Simplify. (bibtex-autokey-get-titles): Rename to bibtex-autokey-get-title. (bibtex-autokey-demangle-name): Simplify, avoid error messages. (bibtex-generate-autokey): Simplify. (bibtex-parse-keys): Simplify, use push. (bibtex-parse-strings): New fun similar to bibtex-parse-keys. (bibtex-string-files-init): New fun. (bibtex-parse-buffers-stealthily): Use bibtex-parse-keys, bibtex-string-files-init and bibtex-parse-strings. (bibtex-complete): Rename to bibtex-complete-internal, use push, bibtex-reference-key-in-string, no sorting. (bibtex-complete-string-cleanup): New fun, displays expansion of completed strings. (bibtex-choose-completion-string): New fun. Required for choose-completion-string-functions. (bibtex-do-auto-fill): Remove. Set fill-prefix in bibtex-mode. (bibtex-pop): Simplify. (bibtex-mode): Move setting of bibtex-string to bibtex-parse-strings. Set choose-completion-string-functions. (bibtex-print-help-message,bibtex-make-field, bibtex-end-of-entry) (bibtex-count-entries): Simplify. (bibtex-entry-index, bibtex-lessp): New funs for generalized sorting scheme of indices, see bibtex-maintain-sorted-entries. (bibtex-sort-buffer): Use bibtex-lessp for sorting. (bibtex-find-crossref, bibtex-find-entry): New funs. (bibtex-find-entry-location): Rename to bibtex-prepare-new-entry, use bibtex-lessp, Simplify. (bibtex-validate): Simplify. Fixe bug of internal variable questionable-month. (bibtex-remove-OPT-or-ALT): Use when. (bibtex-remove-delimiters, bibtex-kill-field, bibtex-kill-entry) (bibtex-clean-entry, bibtex-fill-entry, bibtex-reformat): Simplify. (bibtex-convert-alien): Use deactivate-mark rather than the non-existent bibtex-mark-active variable. (bibtex-complete-string, bibtex-complete-key): Merge into new `smart' defun bibtex-complete. (bibtex-String): Update for new sorting scheme, distinguish empty and non-empty key strings. 2003-06-02 Stefan Monnier * sort.el (sort-subr): Add `predicate' arg. Remove `sortcar' code. 2003-06-02 Lute Kamstra * emacs-lisp/lisp-mnt.el (lm-synopsis): Use relative filenames correctly. Show the synopsis to the user when appropriate. Do not kill buffers that were created outside `lm-synopsis'. 2003-06-01 Stefan Monnier * cus-edit.el (custom-get-fresh-buffer): Be extra paranoid, just in case some used a file of the wrong name. * progmodes/sh-script.el (sh-is-quoted-p): New fun. (sh-font-lock-paren): Use it to allow \C in case patterns. (sh-get-indent-info): Check the \n before the line for string-status. (sh-feature): Remove unused var `function'. (sh-get-indent-info): Remove unused variables. (sh-prev-thing): Remove unused vars `going', `n', and `found'. (sh-set-indent): Remove unused var `new-val' and `val0'. (sh-learn-buffer-indent): Remove unused vars `last-pos' and `lines'. (sh-guess-basic-offset): Remove unused var `return' and `j'. 2003-05-27 David Ponce * ruler-mode.el Version 1.6 Take into account changes made to the display margins, fringes and scroll-bar handling. (ruler-mode-margins-char): Remove. Not used anymore. (ruler-mode-pad-face, ruler-mode-fringes-face): New faces. (ruler-mode-margins-face): New definition. Move. (ruler-mode-left-fringe-cols) (ruler-mode-right-fringe-cols) (ruler-mode-left-scroll-bar-cols) (ruler-mode-right-scroll-bar-cols): Reimplement. Move. (ruler-mode-full-window-width) (ruler-mode-window-col): New functions. (ruler-mode-mouse-set-left-margin) (ruler-mode-mouse-set-right-margin) (ruler-mode-mouse-add-tab-stop) (ruler-mode-mouse-del-tab-stop): Reimplement. (ruler-mode-mouse-current-grab-object): Rename to... (ruler-mode-dragged-symbol): New. (ruler-mode-mouse-grab-any-column): Use it. Clean up. (ruler-mode-mouse-drag-any-column): Likewise. (ruler-mode-mouse-drag-any-column-iteration): Simplify. (ruler-mode): Restore previous `header-line-format' if `ruler-mode-header-line-format-old' has a local binding in current buffer. (ruler-mode-left-margin-help-echo) (ruler-mode-right-margin-help-echo): Remove. (ruler-mode-margin-help-echo) (ruler-mode-fringe-help-echo): New constants. (ruler-mode-ruler): Use them. Reimplement. 2003-06-01 Jason Rumney * mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event): Default to new wheel-up and wheel-down events on Windows. * term/w32-win.el: No need to bind wheel events specially. 2003-06-01 Michael Kifer * desktop.el (desktop-create-buffer): Add (desktop-first-buffer) to the let-statement to avoid the startup error that desktop-first-buffer is undefined. 2003-06-01 Andreas Schwab * man.el (Man-name-regexp): Also match Latin-1 soft hyphen. (Man-build-references-alist): Handle Latin-1 soft hyphen. 2003-05-31 Stephen Eglen * iswitchb.el (iswitchb-buffer-ignore): Update custom type to allow functions. 2003-05-31 Stefan Monnier * view.el (view-file, view-file-other-window, view-file-other-frame): Signal an error when trying to visit an inexistent file. * vc-hooks.el (vc-call-backend): Give better error message when a backend function is missing. (vc-find-file-hook): USe unless. Merge if and cond. * vc.el (vc-directory-exclusion-list): Add MCVS and .svn. (vc-checkin-hook): Adjust option to new name. * log-edit.el (log-edit-maximum-comment-ring-size) (log-edit-comment-ring, log-edit-comment-ring-index) (log-edit-last-comment-match): Rename vars from vc-maximum-comment-ring-size, vc-comment-ring, vc-comment-ring-index, and vc-last-comment-match. (log-edit-new-comment-index, log-edit-previous-comment) (log-edit-next-comment, log-edit-comment-search-backward) (log-edit-comment-search-forward, log-edit-comment-to-change-log): Rename funs from vc-new-comment-index, vc-previous-comment, vc-next-comment, vc-comment-search-reverse, vc-comment-search-forward, and vc-comment-to-change-log. * wid-edit.el (widget-specify-insert): Simplify. (widget-editable-list-entry-create): Don't assume that %d and %i are in the format string. (widget-map-buttons): Remove unused var `parent'. (widget-move): Remove unused shadowed var `new'. (widget-color-action): Remove unused var `pos'. * cus-edit.el (custom-get-fresh-buffer): New fun. (custom-buffer-create, custom-buffer-create-other-window) (customize-browse): Use it instead of killing buffers. (custom-bury-buffer): Obey the argument. (custom-variable-reset-saved, custom-variable-reset-standard): Remove unused var `comment-widget'. (custom-face-edit-deactivate): Remove unused var `to'. (custom-save-variables): Remove unused var `sep'. 2003-05-31 John Paul Wallington * files.el (large-file-warning-threshold): Add type, groups. * progmodes/delphi.el (delphi-ignore-changes): Defvar; non-constant. 2003-05-31 Kenichi Handa * files.el (recover-file): Bind coding-system-for-read to auto-save-coding. 2003-05-31 Juanma Barranquero * misc.el (mark-beginning-of-buffer, mark-end-of-buffer) (upcase-char, forward-to-word, backward-to-word): Move from unused.el. * unused.el: Deleted (contents moved to misc.el). * options.el: * emacs-lisp/float.el: * textmodes/scribe.el: Moved to obsolete. * byte-run.el: * derived.el: * float-sup.el: * map-ynp.el: * regi.el: * timer.el: * warnings.el: Moved to emacs-lisp. * enriched.el: Moved to textmodes. * textmodes/outline.el: Moved to lisp. * which-func.el: Moved to progmodes. * loadup.el: Load byte-run.el, map-ynp.el, timer.el and float-sup.el from emacs-lisp. 2003-05-31 Tom Wurgler (tiny change) * subr.el (looking-back): New function to check for regular expression before point. 2003-05-30 Stefan Monnier * newcomment.el (comment-empty-lines): New var. (comment-region-internal): Use it. * textmodes/tex-mode.el (latex-block-args-alist) (latex-block-body-alist): New vars. (latex-insert-block): Use them. (tex-string-prefix-p): New fun. (tex-guess-main-file): Use it to detect when the main file is in a parent directory. (tex-main-file): Try to find a main-file in parent directories. (tex-compile-default): Don't use `gv' on pdf files just because `gv' was used recently on a ps file. Remove unused arg `dir'. Reuse a previous command as-is if it applied to the same file. (tex-compile): Use the right file name when file is not in dir. * textmodes/refill.el (refill-adjust-ignorable-overlay): Don't hardcode pint-min == 1. (refill-fill-paragraph-at): Use a more robust method to detect when the paragraph is after point. Remove unused var `fill-pfx'. * xml.el (xml-parse-tag): Return (foo nil) rather than (foo nil "") for , to make it behave like . * emacs-lisp/edebug.el (edebug-storing-offsets): Move indent and debug to inside the macro. (edebug-read-storing-offsets): Simplify. (edebug-read-quote, edebug-read-function): Place the start-position correctly. (edebug-read-backquote-new): Remove. (edebug-read-backquote-level): New var to replace it. (edebug-read-backquote): Increment it. Don't store offsets one extra time. (edebug-read-comma): Decrement it. Read the comma as a plain symbol if outside of any new-style backquote. (edebug-read-list): Use edebug-read-backquote-level. Don't call edebug-read-backquote directly. This way the extra offsets store is done exactly when it's needed. (edebug-read-vector): Use push. (defmacro): Add support for the `declare' thingy. 2003-05-29 Stefan Monnier * forms.el (forms-mode-hook): Rename from forms-mode-hooks. (forms-mode): Use add-hook rather than make-local-variable+setq. Use with-current-buffer. Run the new and the old hooks. (forms--update): Use with-current-buffer and line-end-position. (forms--goto-record): New fun. (forms-jump-record, forms-insert-record, forms-delete-record): Use it. (forms--process-format-list): Remove unused var `this-item'. (forms--intuit-from-file): Remove unused var `the-result'. (forms--trans): Remove unused var `x'. (forms--exit, forms-exit, forms-exit-no-save): Remove unused arg. * emacs-lisp/edebug.el (edebug-window-list): Use push. (edebug-macrop): Use functionp. (edebug-functionp): Remove. (edebug-get-displayed-buffer-points): Use push. (edebug-set-buffer-points): Use save-current-buffer and buffer-live-p. (edebug-list-form): Remove dead code. (backquote-form): Correctly handle `(a . ,b). (edebug-mode-map, global-edebug-map): Move init to inside the defvar. (define-derived-mode, define-minor-mode): Remove outdated spec. (save-match-data, with-output-to-string, with-current-buffer) (combine-after-change-calls, with-temp-buffer, dolist, dotimes) (unless, when): Remove specs that are now in the corresponding macro. * emacs-lisp/easy-mmode.el (define-minor-mode): Add edebug spec. Accept a :keymap argument, as you'd expect. * derived.el (define-derived-mode): Add a proper edebug declaration. 2003-05-29 Luc Teirlinck * simple.el (kill-whole-line): Make it interact correctly with the kill ring. 2003-05-29 Kenichi Handa * international/mule.el (ctext-non-standard-encodings-alist): Rename from non-standard-icccm-encodings-alist. (ctext-non-standard-encodings-regexp): New variable. (ctext-post-read-conversion): Full rewrite. (ctext-non-standard-designations-alist): Rename from non-standard-designations-alist. (ctext-pre-write-conversion): Full rewrite. 2003-05-28 Stefan Monnier * info.el (Info-fontify-node): Hide \n------- rather than -------\n. * skeleton.el (skeleton-edebug-spec): First cut of an edebug spec. (define-skeleton): Use it. 2003-05-28 Andreas Schwab * descr-text.el (describe-char): Use `char' instead of `(char-after)'. Fix display of unicode. 2003-05-28 Nick Roberts * gud.el (gud-gdb-goto-stackframe, gud-gdb-get-stackframe): Add server prefix to the gdb commands used by the speedbar. 2003-05-28 Kai Gro,A_(Bjohann * simple.el (kill-region): If nothing was killed, and the previous command was not a kill, break kill sequence. 2003-05-28 Richard M. Stallman * textmodes/refill.el (refill-fill-paragraph-at): Avoid refilling the following paragraph. (refill-doit): Doc fix. * emulation/vip.el (ctl-x-map): Don't bind C-x C-i or C-x 3. (global-map): Don't bind C-z. (vip-setup): New function to rebind C-x 7 and C-z. * emacs-lisp/lisp-mode.el (last-sexp-toggle-display): Undo previous change (don't check for eob). Widen at the beginning. * map-ynp.el (map-y-or-n-p): No special handling for exit-prefix. In help string, mention C-g but not ESC. * jka-compr.el (jka-compr-insert-file-contents): When REPLACE, delete the proper range of text. * info.el (Info-index): Add autoload cookie. * forms.el (forms-mode): Use write-file-functions instead of local-write-file-hooks. Use make-local-variable to make it local. * descr-text.el (describe-char-unicode-data): New dummy definition. (unicode-data): Comment out since we can't use UnicodeData.txt as is. (describe-char-unicodedata-file): Variable renamed and commented out. * faces.el (set-face-attribute): Set face-modified prop to t when we change the new-frame defaults. (face-spec-set): Set face-modified prop to nil when we change the new-frame defaults. * cus-edit.el (custom-face-state-set): Non-nil `face-modified' means face was set outside of Custom. 2003-05-28 Richard M. Stallman * byte-run.el (with-no-warnings): New function. * emacs-lisp/bytecomp.el (byte-compile-no-warnings): New function. (with-no-warnings): Set up compile handler. * startup.el (command-line-1): Use with-no-warnings. * type-break.el (type-break-cancel-function-timers): Use with-no-warnings. 2003-05-28 Luc Teirlinck * env.el (substitute-env-vars): Fix typo. 2003-05-28 Walter C. Pelissero (tiny change) * net/browse-url.el (browse-url-mozilla): Correct the conditionals for using ,new-window. 2003-05-27 Glenn Morris * progmodes/sh-script.el (sh-here-document-word): Document new treatment of leading "-". (sh-maybe-here-document): Strip a leading "-" from closing heredoc delimiter, if present. * align.el (align-rules-list): Doc fix. * calendar/timeclock.el: Update copyright. (timeclock-ask-before-exiting): Put `timeclock-query-out' on `kill-emacs-query-functions' rather than `kill-emacs-hook'. (timeclock-mode-string): Doc fix. (timeclock-modeline-display): Doc fix. Use `global-mode-string' rather than `mode-line-format'. (timeclock-query-out): Doc fix. (timeclock-update-modeline): No need for `let*', so use `let'. Add some help-echo text to `timeclock-mode-string'. (timeclock-mode-string): Give it the risky-local-variable property, so that help-echo text will display. (timeclock-find-discrep): Set `accum' to 0 if `timeclock-discrepancy' is nil. 2003-05-27 Stefan Monnier * emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function): Don't infinite loop at bob. (emacs-lisp-mode): Mark its main custom group to be `lisp'. (prin1-char): New fun. (eval-last-sexp-1): Use it. Use with-syntax-table as well. (eval-defun-1): Don't replace `defvar' with `defconst'. 2003-05-27 Kai Gro,A_(Bjohann * bindings.el (global-map): Bind M-S- * gud.el (gud-find-class): Remove unused var `pos'. (gdb-script-mode-syntax-table, gdb-script-font-lock-keywords) (gdb-script-font-lock-syntactic-keywords) (gdb-script-font-lock-syntactic-face, gdb-script-basic-indent) (gdb-script-skip-to-head, gdb-script-calculate-indentation) (gdb-script-indent-line, gdb-script-mode): New mode to edit .gdbinit-like scripts. 2003-05-26 John Paul Wallington * faces.el (display-supports-face-attributes-p): Doc fix. (x-create-frame-with-faces): Call `face-set-after-frame-default'. 2003-05-26 Kai Gro,A_(Bjohann * bindings.el (global-map): Don't bind S-. Too many people hit it by mistake. 2003-05-26 Andre Spiegel * vc.el (vc-delete-file): Fix free variable reference. (vc-annotate-display): Remove obsolesence declaration; it isn't obsolete. 2003-05-25 Kevin Ryde * info-look.el (autoconf-mode setups): Recognise AH_ and AU_ entries in "(autoconf)Autoconf Macro Index". Add "(autoconf)M4 Macro Index" and "(autoconf)Autotest Macro Index". Remove duplicate copy of "(automake)Macro and Variable Index". Keep automake after all autoconf possibilities, so as to prefer those. 2003-05-25 Stefan Monnier * skeleton.el (skeleton-internal-1): Don't loop if interactor of subskeleton is nil. (skeleton-pair-default-alist): New var. (skeleton-pair-insert-maybe): Use it. Don't munge multibyte chars. 2003-05-25 Nick Roberts * gdb-ui.el (gdb-info-breakpoints-custom, gdb-assembler-custom): Put string associated with breakpoint at start of line so that it is always visible. (gdb-display-source-buffer): Display assembler during execution, when requested. (gud-menu-map): Add a toggle button to menubar for gdb-many-windows. (gdb-many-windows): Define explicitly as a function and a variable (formerly as a minor mode). These need to be global so layout can be reset from any buffer. (gdb-assembler-mode): Keep fringe outside margin as the overlay arrow is not used for assembler. 2003-05-25 Tim Van Holder * which-func.el (which-func-update-timer): New variable. (which-function-mode): Use it. 2003-05-25 Richard M. Stallman * simple.el (idle-update-delay): New variable. 2003-05-25 Luc Teirlinck * simple.el (forward-visible-line): Fix negative arguments. 2003-05-25 Juanma Barranquero * skeleton.el (skeleton-pair-insert-maybe): Remove leftover reference to skeleton-abbrev-cleanup. 2003-05-24 Andreas Schwab * files.el (insert-directory): Preserve CR in a file name. 2003-05-24 Stefan Monnier * skeleton.el (skeleton-abbrev-cleanup, skeleton-proxy): Remove obsolete code. * term/w32-win.el (iconify-or-deiconify-frame): * term/mac-win.el (iconify-or-deiconify-frame): Move to frame.el. * term/x-win.el (iconify-or-deiconify-frame): Move to frame.el. Turn on mouse-wheel support by default. * frame.el (iconify-or-deiconify-frame): Move from term/x-win.el. 2003-05-24 Kai Gro,A_(Bjohann * net/tramp.el: Version 2.0.34 released. (tramp-handle-file-symlink-p): If target of symlink is absolute, return a Tramp filename. (Ie, return "/user@host:/target" instead of "/target".) (tramp-handle-file-truename): Deal with new return value from `file-symlink-p'. (tramp-handle-expand-file-name): Make default method explicit in file name. (tramp-unified-filenames): Move to an earlier spot in the file. (top-level): If tramp-unified-filenames is set and we're running on XEmacs, load tramp-efs. (tramp-wait-for-shell-prompt, tramp-barf-if-no-shell-prompt): New functions, used by tramp-send-command-internal. (tramp-open-connection-setup-interactive-shell): Simplify using `tramp-send-command-internal'. (tramp-send-command-internal): New function. (tramp-methods): New entries "remsh" and "remcp" are like "rsh" and "rcp" but invoke "remsh" instead of "rsh". This is useful on Cray systems, for instance. Unify tramp-rsh-program, tramp-telnet-program, tramp-su-program into tramp-login-program. Likewise with tramp-login-args, tramp-copy-program, tramp-copy-args, tramp-copy-keep-date-arg. Users changed. New method plink1; like plink but pass "-1" to force protocol version 1. (tramp-default-method): Use plink as the default on machines where the plink program is present. (tramp-completion-file-name-handler): Add safe-magic property. (tramp-shell-prompt-pattern): Allow ANSI escapes at end of prompt. (ANSI escapes elsewhere in the prompt are recognized properly already.) * net/tramp-efs.el: New file. 2003-05-24 Michael Albinus * net/tramp.el (tramp-handle-file-truename): `sym' shouldn't be quoted. (tramp-methods, tramp-multi-connection-function-alist): Use argument "-p Password:" for "sudo" method, because password prompt might be changed by either passprompt option in /etc/sudoers, or SUDO_PROMPT environment variable. Suggested by Peter Oliver . 2003-05-23 Stefan Monnier * mail/supercite.el: Use `push' and replace `regi-pos' by equivalents. (sc-emacs-features): Remove. Use better tests instead. (sc-minor-mode): Use define-minor-mode. (sc-mode-string, sc-set-mode-string): Remove. Use a better modeline expression instead. (sc-completing-read, sc-read-string, sc-submatch, sc-member) (sc-string-text): Remove those compatibility functions. * pcvs.el (cvs-temp-buffer): Kill running process in displayed buffers. (cvs-make-cvs-buffer): Fix up format of the header. * progmodes/perl-mode.el (perl-font-lock-syntactic-keywords): Match more cases of /.../ patterns. 2003-05-23 Nick Roberts * gdb-ui.el (gdba): Accommodate Fortran programs. (gud-gdba-command-name): Use -noasync in all cases (as Fortran seems to require it also). (gdb-source-info): Parse correctly when compilation directory specifies host also (IRIX). 2003-05-23 Andre Spiegel * vc-cvs.el (vc-cvs-checkout): Don't leave the branch when REV is t. From Don Provan 2003-05-23 Richard M. Stallman * forms.el (forms--mode-commands1): Bind \t, not `tab'. (forms--mode-commands): Don't bind \t in the maps where we call forms--mode-commands1. 2003-05-23 Taro Kawagishi * arc-mode.el (archive-lzh-summarize): Calculate correct total header size for LZH level 1 header. 2003-05-23 Richard M. Stallman * textmodes/paragraphs.el (repunctuate-sentences): Add doc string. 2003-05-23 Daniel Ortmann (tiny change) * textmodes/paragraphs.el (repunctuate-sentences): New function. 2003-05-23 Lute Kamstra * emacs-lisp/lisp-mnt.el: Make the description of the library more accurate. (lm-any-header): New user option. (lm-section-start): New function; rewrite of `lm-section-mark'. (lm-section-mark): Make alias of `lm-section-start'. (lm-section-end): New function. (lm-code-start): New function; rewrite of `lm-code-mark'. (lm-code-mark): Make alias of `lm-code-start'. (lm-commentary-start): New function; rewrite of `lm-commentary-mark'. (lm-commentary-mark): Make alias of `lm-commentary-start'. (lm-commentary-end): New function. (lm-history-start): New function; rewrite of `lm-history-mark'. (lm-history-mark): Make alias of `lm-history-start'. (lm-commentary): Use `lm-commentary-end' to find the end of the commentary section. * emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): Use `lm-commentary-end' to find the end of the commentary section. 2003-05-22 Stefan Monnier * skeleton.el (define-skeleton): Use the `no-self-insert' property. (skeleton-proxy-new): Fix docstring. Remove broken interactive spec. Rely on use `no-self-insert' rather than `skeleton-abbrev-cleanup'. (skeleton-internal-1): Add a `recursive' argument. (skeleton-internal-list): Use it to propagate `recursive'. 2003-05-22 Ken Stevens * ispell.el: Sync to version 3.6. Summary: MIME support added for e-mail processing that skips encoded regions. Allow user to skip saving Fcc messages with large attachments. Fixed region skipping bug with multi-line comments - e.g. tex $ regions spanning multiple lines. Added support for postscript and uuencoded regions. Redundant dictionary file names purged. Dictionary definition field name changed from "Character Set" to "Coding System". Fixed bug in reloading dictionaries. Modified headers to reflect new version. XEmacs menu now adds customize item. (ispell-check-version): No longer an aliased function. Returns library path if not called interactively. Variable `temporary-file-directory' protected if not loaded. (check-ispell-version): Now the alias for `ispell-check-version'. (ispell-message-fcc-skip): New variable that determines if and when to query about saving Fcc copy of message if an attachment is large. (ispell-skip-html): Declare buffer-local. (ispell-local-dictionary-alist): Docstring expanded. Tag name changed from "Character Set" to "Coding System". (ispell-dictionary-alist-1): Remove redundant command-line option to load brasileiro, british, and castellano dictionary files. (ispell-dictionary-alist-2): Remove redundant command-line option to load czech dictionary file. (ispell-dictionary-alist-3): Move francais-tex here. (ispell-dictionary-alist-4): Remove german and german8 dictionaries. The deutsch ones are the correct definitions. `nederlands' and `nederlands8' dictionaries moved here. (ispell-dictionary-alist-5): `polish' and `portugues' dictionaries moved here. Removed redundant command-line option to `norsk' and `portugues'. (ispell-dictionary-alist-6): Remove redundant command-line option to load `russian' and `slovak' dictionary files. (ispell-dictionary-alist): Tag name changed from "Character Set" to "Coding System". (ispell-version): Update to 3.6. (ispell-library-directory): Calls non-deprecated function. (ispell-valid-dictionary-list): New function returning all valid dictionaries on machine. (ispell-checking-message): Documentation string improved. (ispell-skip-region-alist): Add uuencoded and postscript region skipping. Improve http/e-mail/file regexp to not match `/.\w'. (ispell-html-skip-alists): New variable for html region support. (ispell-send-string): Remove redundant xemacs check. (ispell-word): Fix spelling error in documentation string, add extent information to support highlighting in ispell-minor-mode. (ispell-command-loop): Disable horizontal scrollbar in XEmacs choices buffer. (ispell-show-choices): Directly select `choices-window'. (ispell-help): Use default buffer size for electric help. (ispell-adjusted-window-height): Correct for XEmacs detection. (ispell-start-process): Don't double specify dictionary file name. (ispell-init-process): Set `ispell-library-path' each call. (ispell-change-dictionary): Now only completes valid dictionaries. (ispell-region): Add support for MIME region skipping and Fcc message query for large attachments. (ispell-begin-skip-region-regexp): Add documentation string. Add message support and clean up code for generic and html regions. (ispell-begin-skip-region): Function is now requires alist argument. (ispell-begin-tex-skip-regexp): Add comments and support improved html and message regions. (ispell-skip-region-list): New function for MIME and region skipping. (ispell-tex-arg-end): Add documentation string. (ispell-ignore-fcc): New function to query saving Fcc message. (ispell-skip-region): Calculate alist for key match dynamically, html skipping pushed to alists. (ispell-get-line): Add support for multi-line comment regions. (ispell): Check that variables to continue spelling are bound. (ispell-message-text-end): Postscript and uuencoded regions now supported as MIME regions, rather than as end-of-message region. (ispell-mime-multipartp): New function supporting MIME. (ispell-mime-skip-part): New function supporting MIME. (ispell-message): Add MIME support. (ispell-buffer-local-parsing): Variable `ispell-skip-html' now local. (ispell-buffer-local-dict): Fix bug for detecting and reloading new dictionary. 2003-05-22 Stephen J. Turnbull * subr.el (split-string): Implement specification that splitting on explicit separators retains null fields. Add new argument OMIT-NULLS. Special-case (split-string "a string"). 2003-05-22 Stefan Monnier * international/mule-cmds.el (select-safe-coding-system): Try default-buffer-file-coding-system too for automatic selection. 2003-05-21 Stefan Monnier * simple.el (ctl-x-map): Remove the C-x U binding added recently. 2003-05-21 Dave Love * descr-text.el (unicodedata-file): New. (unicode-data): New (adapted from unicode branch). (describe-char): Use it. Print char's unicode differently. Avoid elements with null cadr when formatting list. Clarify error message when used in Help buffer. (button): Require when compiling. (describe-char-after): Alias for obsolete command. 2003-05-21 Nick Roberts * gdb-ui.el (gud-gdba-command-name): Use -noasync option for Gdb with MS windows. (gdb-display-end): Only make buffer writeable temporarily. Move "View" submenu up one level. 2003-05-21 Nick Roberts * gdb-ui.el (gdb-view-source, gdb-selected-view): New variables. (gdba): Inhibit DOS window in MS Windows. (gdb-inferior-io-mode): Use hexl instead of cat. (gdb-info-breakpoints-custom, gdb-assembler-custom, gdb-reset): Use text in margin for MS Windows as there is no image support. (gdb-restore-windows, gdb-setup-windows): Restore/start with assembler view if appropriate. (gdb-assembler-custom): Assembler code should display at point. Parse address correctly. (gdb-frame-handler): Accommodate selection of display of source or assembler. Add radio buttons to select display of source or assembler. 2003-05-20 Lars Hansen * desktop.el (desktop-save): Ensure parameter is expanded and ends with a slash before assigning it to desktop-dirname and default-directory. (desktop-read): Put buffers existing prior to evaluating the desktop (and not reused) at the end of the buffer list. (desktop-create-buffer): Don't update desktop-first-buffer for old desktop files. 2003-05-19 John Paul Wallington * xml.el (xml-name-regexp): Wrap in `eval-and-compile'. 2003-05-19 Dave Love * xml.el: Doc fixes. (xml-parse-file, xml-parse-region): Autoload. (xml-syntax-table, xml-name-regexp): New. (xml-parse-region): Narrow to region, set syntax-table and case-fold-search. Reject fewer valid documents. (xml-parse-tag): Remove arg END. Callers changed. (xml-parse-tag): Use skip-syntax-forward. Use PARSE-DTD arg properly. Don't use buffer-substring-no-properties. Don't bind case-fold-search. Fix syntax for empty elements. Hoist consing of end-of-tag regexp out of loop. (xml-parse-attlist): Remove arg. Callers changed. Use skip-syntax-forward, replace-regexp-in-string, forward-sexp. Allow non-ASCII names. (xml-skip-dtd): Remove arg. Callers changed. Change matching code. (xml-parse-dtd): Grok external DTDs. Allow non-ASCII. Don't use match-string-no-properties. (xml-ucs-to-string): Delete. (xml-substitute-entity): New. (xml-substitute-special): Use it. (xml-debug-print-internal): Simplify insertions. (xml-parse-file): Avoid finding file in xml-mode. 2003-05-19 Kai Gro,A_(Bjohann * simple.el (kill-whole-line): New function. * bindings.el (global-map): Bind it. 2003-05-19 Richard M. Stallman * net/goto-addr.el (goto-address-fontify-maximum-size): Value t means no limit. (goto-address-fontify): Implement that feature. * emacs-lisp/find-func.el (find-function-on-key): Move the call to find-function-other-window outside the save-excursion. * find-file.el (ff-special-constructs): Delete the Ada entry. * faces.el (x-create-frame-with-faces): Don't call face-set-after-frame-default. (face-set-after-frame-default): Copy attrs of global `default' face to FRAME's `default' face. 2003-05-19 Joe Kelsey * skeleton.el (skeleton-internal-1): Allow - as alternate interesting point marker and revert @ to just setting skeleton-positions. 2003-05-18 Stefan Monnier * emacs-lisp/lisp.el (beginning-of-defun-raw): Use shy-group. * progmodes/executable.el (executable-set-magic): Remove unused vars `point' and `buffer-modified-p'. * mail/sendmail.el (mail-mode): Don't bother setting paragraph-start. * mail/mail-extr.el: Use explicit coding tag. * international/mule.el (sgml-xml-auto-coding-function) (sgml-html-meta-auto-coding-function): Don't assume point-min == 1. * language/china-util.el (hz-set-msb-table): Build when compiling. (big5-to-cns): Pre-build the alist when compiling. * language/ind-util.el (indian-regexp-of-hashtbl-keys): Don't bother sorting the argument to regexp-opt. (indian--puthash-char): Use dolist rather than mapc. 2003-05-18 Nick Roberts * gdb-ui.el (put-arrow): Rename gdb-put-arrow and simplify. (put-string): Rename gdb-put-string and simplify. (remove-strings): Rename gdb-remove-strings. (remove-arrow): Rename gdb-remove-arrow. (gdb-assembler-custom): Try to get line marker (arrow) to display in window (revisited). Use with-current-buffer where possible. 2003-05-18 John Paul Wallington * ibuffer.el (ibuffer-display-summary): New customizable variable. (ibuffer-update-title-and-summary): Respect it. 2003-05-18 Michael Kifer * ediff-mult.el (ediff-default-filtering-regexp): New variable. * ediff-util.el (ediff-maybe-save-and-delete-merge): Change in a message. * ediff.el (ediff-directories,ediff-directory-revisions) (ediff-directories3,ediff-merge-directories) (ediff-merge-directories-with-ancestor,ediff-merge-directory-revisions) (ediff-merge-directory-revisions-with-ancestor): Make use of the new ediff-default-filtering-regexp variable. 2003-05-18 Richard M. Stallman * which-func.el (which-func-current, which-func-format): Preload the risky-local-variable properties for them. * subr.el (prepare-change-group): Reinstate BUFFER arg; make it work. 2003-05-18 Nick Roberts * gud.el (gdb): Define gud-nexti. (gud-menu-map): Add gud-nexti to map. (gud-tool-bar-map): Add gud-nexti and gud-stepi to toolbar. * toolbar/gud-stepi.xpm, toolbar/gud-stepi.pbm, toolbar/gud-nexti.xpm, toolbar/gud-nexti.pbm: New icons for debugger. 2003-05-17 John Paul Wallington * international/ja-dic-cnv.el (skkdic-okuri-nasi-entries) (skkdic-okuri-nasi-entries-count): Use defvar for non-constants. * register.el (number-to-register): Use `string-to-number' instead of `string-to-int'. 2003-05-17 Stefan Monnier * log-edit.el: Don't require vc.el anymore. (log-edit-mode-map): Fold vc-log-mode-map into it. (vc-log-mode-map): Redefine as an alias. (vc-previous-comment): Don't widen. (vc-comment-to-change-log): Don't redundantly set paragraph-separate. Don't require `add-log' since it's already required at toplevel. * vc.el (vc-log-mode-map, vc-maximum-comment-ring-size) (vc-comment-ring, vc-comment-ring-index, vc-last-comment-match): Move vars to log-edit.el. (vc-new-comment-index, vc-previous-comment, vc-next-comment) (vc-comment-search-reverse, vc-comment-search-forward) (vc-comment-to-change-log): Move funs to log-edit.el. (vc-clear-context): Don't empty the comment-ring. (vc-finish-logentry): Don't add the comment onto the comment-ring. * log-edit.el (vc-log-mode-map, vc-maximum-comment-ring-size) (vc-comment-ring, vc-comment-ring-index, vc-last-comment-match): Move vars from vc.el. (vc-new-comment-index, vc-previous-comment, vc-next-comment) (vc-comment-search-reverse, vc-comment-search-forward) (vc-comment-to-change-log): Move funs from vc.el. (log-edit-show-files): Remove unused var `editbuf'. * progmodes/tcl.el (tcl-indent-exp): Remove dead code. (tcl-tab-always-indent): Default to tab-always-indent. * progmodes/perl-mode.el (perl-end-of-function): Remove unused var. (perl-tab-always-indent): Default to tab-always-indent. * which-func.el (which-func-format): Make it risky-local-variable. (which-func-table): New var. (which-func-current): Make it into a constant modeline spec. (which-func-previous): Remove. (which-func-update): Only update the selected window. (which-func-update-1): Use the new var to allow the current function to be different for a buffer shown in two windows. * subr.el (with-selected-window): New macro. (dolist, dotimes, with-current-buffer): Use backquotes. (when, unless, save-match-data, combine-after-change-calls) (with-output-to-string, with-temp-buffer): Add `declare' info. (listify-key-sequence): Don't allocate unnecessarily. (read-quoted-char): Allow up to base 36. (prepare-change-group): Remove unimplemented argument. (macro-declaration-function): Avoid `dolist' and `cadr'. * wid-edit.el (pp-to-string, Info-goto-node): Don't autoload. (widget-choose, widget-map-buttons): Use with-current-buffer. (widget-field-add-space): Change to nil (and to defconst). (widget-info-link-action): Use `info'. 2003-05-17 Nick Roberts * gdb-ui.el (gdb-info-frames-custom): Reverse contrast of face for selected frame. (gdb-annotation-rules): Stop using frames-invalid and breakpoints-invalid annotations. Update after post-prompt instead. (gdb-post-prompt): Update frames and breakpoints here. (gdb-invalidate-frame-and-assembler) (gdb-invalidate-breakpoints-and-assembler): Remove. (gdb-current-address): Remove. (gdb-previous-address): New variable. (gud-until): Extend to work in Assembler buffer. (gdb-append-to-inferior-io): Select IO buffer when there is output. (gdb-assembler-custom): Try to get line marker (arrow) to display in window. Correct parsing for OS dependent output syntax of Gdb command, where. (gdb-frame-handler): Correct parsing for OS dependent output syntax of Gdb command, frame. (gdb-invalidate-assembler): Update assembler buffer correctly when frame changes (revisited). 2003-05-16 Stefan Monnier * imenu.el (imenu--split-menu): Remove unused var `count'. Don't copy the sequence since we're already modifying it elsewhere. (imenu--create-keymap): Rename from imenu--create-keymap-1. Add optional `cmd' argument. Remove unused var `counter'. (imenu-update-menubar): Use the new arg to keep the old behavior. (imenu--mouse-menu): Don't use the arg, to recover the lost behavior. 2003-05-16 Lute Kamstra * hl-line.el (hl-line-highlight, global-hl-line-highlight): Use `line-beginning-position' to determine the beginning of the next line. 2003-05-16 Kenichi Handa * international/mule-cmds.el (mule-menu-keymap): Enable the menu set-various-coding-system when default-enable-multibyte-characters is non-nil. 2003-05-15 Stefan Monnier * emacs-lisp/autoload.el (make-autoload): Add arglist for define-derived-mode. 2003-05-15 Lute Kamstra * hl-line.el: Rewrite the local minor mode so that it can be sticky as well and made sticky the default. Reimplement the global minor mode. Update the commentary section to document these changes. (hl-line-sticky-flag): New user option. (hl-line-overlay): Make it buffer-local and give it a docstring. (global-hl-line-overlay): New variable. (hl-line-mode): Rewrite to use `hl-line-sticky-flag'. (hl-line-highlight): Rewrite to use `hl-line-sticky-flag'. (hl-line-unhighlight): Update docstring. (global-hl-line-mode): Implement directly so that is does not depend on `hl-line-mode' any more. (global-hl-line-highlight, global-hl-line-unhighlight): New functions. 2003-05-15 Kenichi Handa * international/code-pages.el (cyrillic-koi8-t): Alias of koi8-t. 2003-05-15 Vinicius Jose Latorre * ps-print.el: Avoid unnecessary calls to funs in header and footer variables. Reported by Greg Hill . (ps-print-version): New version number (6.6.1). (ps-begin-page): Code fix. (ps-generate-string-list, ps-header-footer-string): New funs. (ps-lh-cache, ps-rh-cache, ps-lf-cache, ps-rf-cache): New vars. * ps-mule.el (ps-mule-header-string-charsets): Call ps-header-footer-string to avoid unnecessary calls to functions in header and footer variables. 2003-05-15 John Paul Wallington * mail/rmail.el (rmail-ignored-headers): Ignore Face: header. 2003-05-14 Stefan Monnier * textmodes/tex-mode.el (tex-compile-history, tex-input-files-re) (tex-use-reftex, tex-compile-commands): New vars. (tex-summarize-command, tex-uptodate-p, tex-executable-exists-p) (tex-command-executable, tex-command-active-p, tex-compile-default) New functions. (tex-compile): New command. (tex-mode-map): Bind it to C-c C-c. * vc-svn.el (completion-ignored-extensions): Add .svn. (vc-svn-delete-file): New function. * pcvs.el (cvs-append-to-ignore): New arg `old-dir'. (cvs-mode-ignore): Use it. * pcvs-parse.el (cvs-parse-table): Remove unused var `type'. Look up `.cvsignore' to see what to do with `new-dir' messages. (cvs-parse-merge): Remove unused var `handled'. 2003-05-14 Christoph Wedler * format.el (format-annotate-function): Copy coding system into the new temp buffer. 2003-05-14 John Paul Wallington * ls-lisp.el (insert-directory): Discard --dired switch when `ls-lisp-use-insert-directory-program' is nil. 2003-05-13 Stefan Monnier * textmodes/ispell.el (xemacsp): Remove. Use (featurep 'xemacs). (ispell-graphic-p): Inline and then remove. (toplevel): Get rid of unnecessary loop. (ispell-parse-output, ispell-complete-word): Replace (substring s 0 1) with a call to aref. (ispell-get-line): Remove unused arg `reg-end'. (ispell-region): Update corresponding call. * progmodes/cpp.el (cpp-make-overlay-hidden): Don't make intangible. * progmodes/compile.el (compile-internal): Use with-current-buffer. (compilation-set-window-height): Use save-selected-window. * progmodes/ada-xref.el (ada-xref-update-project-menu): Use easymenu. (ada-goto-declaration-other-frame): Remove unused arg other-frame. (ada-gdb-application): Remove unused vars comint-exec, in-post-mode, and gud-gdb-massage-args. * progmodes/cc-langs.el (c-lang-defvar-init-form-tail): This is actually not a constant. * progmodes/autoconf.el (autoconf-current-defun-function): Copy the syntax table before modifying it. * progmodes/ada-mode.el (ada-in-comment-p, ada-in-string-p) (ada-in-string-or-comment-p): Use line-beginning-position. * textmodes/reftex.el (reftex-select-with-char): Don't assume that point-min == 1. * textmodes/reftex-toc.el (reftex-toc-visit-location): Don't switch the current window if the new buffer is in another. (reftex-toc): Don't assume that point-min == 1. * textmodes/reftex-parse.el (reftex-what-macro): Don't assume that point-min == 1. * textmodes/reftex-cite.el (reftex-extract-bib-entries) (reftex-extract-bib-entries-from-thebibliography): New arg re-list. (reftex-extract-bib-entries): Use ^ rather than \(\`\|[\n\r]\). Use member-ignore-case. Don't add unnecessary trailing \n. (reftex-offer-bib-menu): Consolidate duplicated code from reftex-extract-bib-entries and reftex-extract-bib-entries-from-thebibliography. * simple.el (back-to-indentation): Simplify. (undo-equiv-table, undo-in-region, undo-no-redo): New vars. (undo): Use them to implement the no-redo form of undo. (undo-only): New fun. (shell-command): Don't require `shell' since shell-mode is autoloaded. (insert-buffer): Simplify. (completion-setup-function): Use minibufferp. (event-apply-alt-modifier, event-apply-super-modifier) (event-apply-hyper-modifier, event-apply-shift-modifier) (event-apply-control-modifier, event-apply-meta-modifier): Fix docstring to show the proper key sequence. * uniquify.el (uniquify-after-kill-buffer-p): Set default to t. (uniquify-ignore-buffers-re): Revert to nil now that uniquify is more careful about preserving buffer names. * menu-bar.el (menu-bar-options-menu) : Use menu-bar-make-mm-toggle. * files.el (file-relative-name): Remove dead code. Make sure \n in a filename does not confuse us. * help-fns.el (describe-variable): Mention permanent local status. * comint.el (comint-carriage-motion, comint-output-filter): Bind inhibit-read-only rather than buffer-read-only. (comint-truncate-buffer): Bind inhibit-read-only. * pcvs.el (cvs-make-cvs-buffer): Add the tag info. (cvs-mode): Prevent pilot-error. * vc-mcvs.el (vc-mcvs-registered, vc-mcvs-root): Check the output of file-name-directory for nil. 2003-05-13 Simon Josefsson * mail/smtpmail.el (smtpmail-open-stream): Don't hard code starttls-program. 2003-05-13 Rajesh Vaidheeswarran * whitespace.el (whitespace-global-mode): Add :link entry to the commentary section in whitespace.el 2003-05-13 Nick Roberts * gdb-ui.el (gdb-invalidate-assembler): Update assembler buffer correctly when frame changes. (gdb-info-threads-custom, gdb-threads-buffer-name) (gdb-display-threads-buffer, gdb-frame-threads-buffer) (gdb-threads-mode-map, gdb-threads-mode, gdb-get-thread-number) (gdb-threads-select, gdb-threads-mouse-select): New functions and variable for a buffer that provides a selectable threads list. 2003-05-12 Stefan Monnier * pcvs-parse.el (cvs-parse-table): `New directory' messages include the full path. * pcvs.el (cvs-minor-current-files): Move before first use. (defun-cvs-mode): Remove unused var `restdoc'. (cvs-edit-log-revision, ediff-after-quit-hook-internal): Declare. (cvs-mode-diff-backup): Remove unused var `filter'. (cvs-mode-run): Remove unused var `cvs-buf'. (cvs-mode-do): Remove unused arg `parse'. (cvs-retrieve-revision): Make sure HEAD gets the head of the branch. * textmodes/sgml-mode.el (sgml-namespace-re): New const. (sgml-namespace-face): New face. (sgml-font-lock-keywords-1): Use them. 2003-05-11 Kevin Ryde * info-look.el (info-lookup-make-completions): Allow colons in index entries by looking for ": " to terminate, as per latest info.el. 2003-05-11 Stefan Monnier * vc-mcvs.el (vc-mcvs-command): Filter output of `status'. (vc-mcvs-state, vc-mcvs-dir-state, vc-mcvs-print-log, vc-mcvs-diff): Change dir so that the filtered output of `mcvs makes sense. (vc-mcvs-mode-line-string): Handle the case where CVS is desync'd. (vc-mcvs-diff-tree): Don't bother with the local-diff code. (vc-mcvs-create-snapshot): Use `branch' and `switch'. 2003-05-10 Stefan Monnier * newcomment.el (comment-indent): Try to align to adjacent comments. (comment-with-narrowing): Actually use the arguments. (comment-valid-prefix-p): Rename from comment-valid-prefix and fix to actually use its argument. * tex-mode.el (tex-mode-syntax-table): ~ is not whitespace. (tex-guess-mode): Add `renewcommand'. (tex-mode): Move the autoload to get the correct docstring and usage. * uniquify.el (uniquify-rationalize-file-buffer-names): Refresh the dirname in the case that rename-buffer was skipped. (uniquify-buffer-file-name): Return a dirname with no trailing slash. * mail/smtpmail.el (smtpmail-send-queued-mail): Use point-at-bol instead of forward-line. 2003-05-10 Oliver Scholz * startup.el (fancy-splash-default-action): Fix docstring. 2003-05-09 Sam Steingold * pcvs.el (cvs-mode-find-file): Fixed the last patch's logic. 2003-05-09 Stefan Monnier * newcomment.el (comment-indent): Be more careful when inserting the space, and insert it before setting `begpos'. * vc.el: New backend functions `delete-file' and `repository-hostname'. (vc-stay-local): New var. Mostly taken from vc-cvs-stay-local. (vc-stay-local-p): New fun. Adapted from vc-cvs-stay-local-p. (vc-diff-switches-list): Revert to the Emacs-21.[123] semantics. Mark as obsolete. (vc-delete-file): New command. (vc-default-rename-file): New function. (vc-rename-file): Use it. Be careful to disallow renaming if the file is locked or out-of-date. (vc-ensure-vc-buffer, vc-next-action-on-file, vc-insert-headers) (vc-cancel-version, vc-annotate): Use buffer-file-name variable. * vc-mcvs.el (vc-mcvs-stay-local): Remove unused var. (vc-mcvs-state, vc-mcvs-dir-state, vc-mcvs-print-log, vc-mcvs-diff) (vc-mcvs-diff-tree, vc-mcvs-annotate-command) (vc-mcvs-make-version-backups-p): Use vc-stay-local-p. (vc-mcvs-checkin): Disallow commits to a numbered rev. (vc-mcvs-repository-hostname): New function. (vc-mcvs-stay-local-p): Remove. * vc-cvs.el (vc-cvs-mode-line-string): Use vc-default-mode-line-string. (vc-cvs-delete-file, vc-cvs-rename-file): New functions. * vc-svn.el (vc-svn-rename-file): New fun. (vc-svn-diff): Correctly check svn's return status. (vc-svn-state, vc-svn-dir-state, vc-svn-print-log, vc-svn-diff) (vc-svn-diff-tree): Use vc-stay-local-p. (vc-svn-register-switches, vc-svn-diff-switches, vc-svn-header) (vc-svn-use-edit): Fix the :version property. (vc-svn-stay-local): Remove unused var. (vc-svn-mode-line-string): Remove, use the default instead. (vc-svn-repository-hostname): New fun taken from vc-svn-stay-local-p. (vc-svn-stay-local-p): Remove. * uniquify.el: Use the original buffer-name as `base' in place of the nondirectory part of the file name. (uniquify-rationalize-file-buffer-names): Split the `newbuffile' arg into `base' and `dirname'. Reuse old uniquify-items to avoid recomputing their base&dirname. (uniquify-buffer-file-name): Only return the directory part. (uniquify-rerationalize-w/o-cb): Don't bother reseting proposed names. (rename-buffer): Use the `newname' arg as base. (create-file-buffer): Split the file name into base and dirname. 2003-05-09 Jesper Harder * mail/smtpmail.el (smtpmail-send-queued-mail): Don't use kill-line. 2003-05-08 Stefan Monnier * uniquify.el (uniquify-after-kill-buffer-p): Fix misleading docstring. (uniquify-make-item): Make `proposed' optional. (uniquify-rationalize-file-buffer-names): Don't compute the initial proposed name. (uniquify-buffer-file-name): Remove dead code. (uniquify-strip-common-suffix): New var. (uniquify-rationalize): Always recompute initial proposed name. Strip common suffix if requested. * vc-rcs.el (vc-rcs-register, vc-rcs-checkin, vc-rcs-checkout) (vc-rcs-find-version, vc-rcs-diff): Use vc-switches. * vc-sccs.el (vc-sccs-register, vc-sccs-find-version) (vc-sccs-checkin, vc-sccs-checkout, vc-sccs-diff): Use vc-switches. (vc-sccs-register): Remove unused var `|'. * vc-mcvs.el (vc-mcvs-read): Don't require `file' to exist. (vc-mcvs-diff): Don't return 0 for newly added empty files. (vc-mcvs-register, vc-mcvs-checkin, vc-mcvs-find-version) (vc-mcvs-checkout, vc-mcvs-diff, vc-mcvs-diff-tree): Use vc-switches. * vc-cvs.el (vc-cvs-dired-state-info): Use `added' for added files and don't use `concat' unnecessarily. Remove impossible cases. (vc-cvs-diff): Don't return 0 for newly added empty files. (vc-cvs-stay-local-p): Simplify. (vc-cvs-register, vc-cvs-checkin, vc-cvs-find-version, vc-cvs-diff) (vc-cvs-diff-tree, vc-cvs-checkout): Use vc-switches. * vc-svn.el (vc-svn-dired-state-info): Use `added' for added files and don't use `concat' unnecessarily. Remove impossible cases. (vc-svn-register, vc-svn-find-version, vc-svn-diff-tree): Use vc-switches. (vc-svn-checkin): Use vc-switches. Fix up regexp. (vc-svn-diff): Use vc-switches. Don't return 0 for newly added empty files. Don't use svn's return status. (vc-svn-parse-status): Recognize copied files as well. Use the last-modified revision for workfile-version. * vc-hooks.el (vc-default-workfile-unchanged-p): Pass nil rather than (vc-workfile-version file) to diff. * vc.el (with-vc-properties, with-vc-file, edit-vc-file): Add `declare's for debugging and indentation. (vc-do-command): Use `remq'. (vc-buffer-context): Remove unused var `curbuf'. (vc-next-action-dired): Remove unused var `dired-dir'. (vc-switches): New fun. (vc-diff-switches-list): Use it. (vc-dired-hook): Remove unused var `cvs-dir'. (vc-dired-purge): Remove unused var `subdir'. (vc-cancel-version): Remove unused var `config'. (vc-rename-master): Use dolist iso mapcar. (vc-rename-file): Remove redundant tests. Clear the properties of the old file name. (vc-annotate): Pass the complete filename to `annotate-command'. (vc-annotate-lines): Remove unused var `overlay'. 2003-05-08 Glenn Morris * calendar/diary-lib.el (diary-pull-attrs): Make `ret-attr', `attr' local. (list-diary-entries): Make `temp' local. (fancy-diary-display): Make `marks', `temp-face', `faceinfo' local. (diary-mail-entries): There is no fancy-diary-buffer if there are no diary entries. Use call-interactively. (mark-diary-entries): Make `temp' local. (mark-sexp-diary-entries): Make `marks' local, remove `temp'. (list-sexp-diary-entries): Make `temp' local. (add-to-diary-list): Make `prefix' local. 2003-05-08 Dave Love * international/utf-7.el: New file. 2003-05-07 Francis J. Wright * files.el (insert-file-contents-literally): Allow it to be called within a magic file name handler. 2003-05-07 Stefan Monnier * uniquify.el (uniquify-rationalize-file-buffer-names): Don't uniquify if there is no filename. * vc-hooks.el: Use buffer-file-name variable rather than function. (vc-handled-backends): Add SVN and MCVS. (vc-mode-line): Call vc-backend only once. (find-file-hook, find-file-not-found-hook): Use the new names rather than ...-hooks. * uniquify.el (uniquify-item, uniquify-get-proposed-name) (uniquify-rationalize-conflicting-sublist): Rename filename -> dirname. (uniquify-rationalize): New fun. Set uniquify-managed to the fix-list. (uniquify-rationalize-file-buffer-names): Use it and make the args non-optional (i.e. don't support "re-rationalize all" any more). (uniquify-rerationalize-w/o-cb): New fun. (uniquify-maybe-rerationalize-w/o-cb): Use it to rerationalize immediately and only the relevant buffers. Merged from uniquify-delay-rationalize-file-buffer-names and uniquify-delayed-rationalize-file-buffer-names. (kill-buffer-hook, rename-buffer): Use it. 2003-05-06 Jesper Harder * progmodes/compile.el (compile-internal): Don't quote nil and t in docstrings. * emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p): Likewise. * emacs-lisp/cl-macs.el (case, typecase): Likewise. * allout.el (allout-auto-activation) (allout-use-mode-specific-leader, allout-reindent-bodies) (allout-unprotected): Likewise. * progmodes/tcl.el (tcl-explain-indentation): Likewise. * progmodes/idlwave.el (idlwave-complete-special): Likewise. * progmodes/cpp.el (cpp-edit-list): Likewise. * progmodes/cperl-mode.el (cperl-lineup): Likewise. * progmodes/cc-align.el (c-lineup-argcont, c-lineup-gcc-asm-reg): Likewise. * play/mpuz.el (mpuz-silent): Likewise. * play/decipher.el (decipher-ignore-spaces): Likewise. * net/rlogin.el (rlogin-process-connection-type): Likewise. * mail/rmail.el (rmail-primary-inbox-list): Likewise. * mail/mailalias.el (mail-directory-function) (mail-directory-requery, mail-directory): Likewise. * emacs-lisp/lucid.el (buffer-syntactic-context): Likewise. * emacs-lisp/lmenu.el (popup-dialog-box): Likewise. * type-break.el (type-break-good-rest-interval) (type-break-query-mode, type-break-query-function) (type-break-mode-line-message-mode): Likewise. * skeleton.el (skeleton-autowrap, skeleton-untabify) (skeleton-newline-indent-rigidly, skeleton-insert) (skeleton-read): Likewise. * simple.el (newline): Likewise. * ps-print.el (ps-zebra-stripe-follow): Likewise. * mwheel.el (mouse-wheel-scroll-amount): Likewise. * env.el (setenv): Likewise. 2003-05-06 Stefan Monnier * imenu.el (imenu--generic-function): Use font-lock-defaults case setting if imenu-case-fold-search is not locally set. * uniquify.el (uniquify-managed): New var. (uniquify-rationalize-file-buffer-names, rename-buffer): Use it and set it to prevent accidental renaming of unrelated buffers. (uniquify-delay-rationalize-file-buffer-names): Use it to avoid the cost of uniquify when killing unrelated buffers. * newcomment.el (comment-set-column, comment-kill) (comment-or-uncomment-region): Call comment-normalize-vars since these functions are autoloaded. * help-fns.el (help-add-fundoc-usage): Use t for "no arglist". * emacs-lisp/advice.el (ad-make-advised-docstring): Adjust usage. 2003-05-06 Lute Kamstra * hl-line.el: Removed an erroneous comment. (hl-line-mode): Use buffer local hooks. (global-hl-line-mode): Turn local modes on unconditionally. (hl-line-highlight): Comment fix. 2003-05-06 Richard M. Stallman * newcomment.el (comment-search-forward): Delete autoload cookie. 2003-05-06 Kenichi Handa * arc-mode.el (archive-set-buffer-as-visiting-file): Use after-insert-file-set-coding, not after-insert-file-set-buffer-file-coding-system. 2003-05-05 Stefan Monnier * uniquify.el (uniquify-buffer-name-style) (uniquify-after-kill-buffer-p, uniquify-ask-about-buffer-names-p) (uniquify-ignore-buffers-re, uniquify-min-dir-content) (uniquify-separator, uniquify-trailing-separator-p): Remove redundant group specification. (uniquify-file-name-nondirectory): Delete. (uniquify-rationalize-file-buffer-names): Simplify. Use directory names as `filename' component of uniquify-item. (uniquify-get-proposed-name): Adjust now that `filename' does not include `base'. * vc-svn.el: New file. 2003-05-05 John Paul Wallington * emacs-lisp/autoload.el (batch-update-autoloads): Call `update-directory-autoloads'. 2003-05-04 Dan Nicolaescu * dired.el (dired-find-file): Bind find-file-run-dired around the call to find-file. 2003-05-04 Stefan Monnier * uniquify.el: Move provide to end of file. (uniquify-ref-base, uniquify-ref-filename, uniquify-ref-buffer) (uniquify-ref-proposed, uniquify-set-proposed): Remove. (uniquify-item): New struct. Update users of uniquify-ref-*. (uniquify-get-proposed-name, uniquify-rationalize-a-list): Make `depth' optional. (uniquify-non-file-buffer-names): Remove. (uniquify-rationalize-file-buffer-names): Don't set it up. Use uniquify-make-item and don't pass the now-optional depth. (uniquify-rationalize-conflicting-sublist): Check the new buffer name directly instead of relying on uniquify-non-file-buffer-names. (uniquify-rename-buffer): Use with-current-buffer and pass the `unique' arg to rename-buffer. * vc-mcvs.el (vc-mcvs-mode-line-string): Fix thinko. (vc-mcvs-rename-file): New function. 2003-05-04 Emmanuel Briot * progmodes/ada-mode.el * progmodes/ada-prj.el * progmodes/ada-stmt.el * progmodes/ada-xref.el (ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs). Removed warnings generated with Emacs 21.3.x (mostly by adding needed `require' statements). 2003-05-04 Nick Roberts * toolbar/gud-break.pbm, toolbar/gud-cont.pbm, toolbar/gud-display.pbm, toolbar/gud-down.pbm, toolbar/gud-finish.pbm, toolbar/gud-until.pbm, toolbar/gud-next.pbm, toolbar/gud-print.pbm, toolbar/gud-remove.pbm, toolbar/gud-run.pbm, toolbar/gud-step.pbm, toolbar/gud-up.pbm: Correct size for cleaner bitmaps. 2003-05-03 Stefan Monnier * emacs-lisp/cl-extra.el (cl-map-keymap): Redefine as alias. (cl-map-keymap-recursively): Use map-keymap. (cl-macroexpand-all): Don't quote functions. * emacs-lisp/lucid.el (cl-map-keymap): Be careful with aliases. * emacs-lisp/advice.el (ad-get-enabled-advices, ad-special-forms) (ad-arglist, ad-subr-arglist): Use push and match-string. (ad-make-advised-docstring): Extract & reinsert the usage info. * help-fns.el (help-add-fundoc-usage): Allow arglist to be a string. 2003-05-03 Nick Roberts * gdb-ui.el (breakpoint-enabled-icon, breakpoint-disabled-icon): Include bitmap data for monochrome display. (breakpoint-enabled-pbm-data, breakpoint-disabled-pbm-data): New constants. 2003-05-03 Ric