Find file
Fetching contributors…
Cannot retrieve contributors at this time
23556 lines (16975 sloc) 858 KB
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 parentheses 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
(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
* 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
* 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-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
* 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
* 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
(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
(gdb-view-source): Rename gdb-view-source-function.
Set uninitialised variables (defvars) to nil.
2003-06-29 Kai Großjohann <>
* international/mule-cmds.el
(set-display-table-and-terminal-coding-system): Remove CVS
conflict markers and some code.
2003-06-27 Kai Großjohann <>
* 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-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
2003-06-21 Kenichi Handa <>
* international/utf-16.el: Many name changes: 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} ->
* 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} ->
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
(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
(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ßjohann <>
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-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 <>
* 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-<backspace>. Remove M-S-<backspace> binding: too close to
* 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 aggressive 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
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-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-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-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-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-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 and 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-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
(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
(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-right-scroll-bar-cols): Reimplement. Move.
(ruler-mode-window-col): New functions.
(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
(ruler-mode-right-margin-help-echo): Remove.
(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
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 <foo/>, to make it behave like <foo></foo>.
* 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
(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ßjohann <>
* 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ßjohann <>
* bindings.el (global-map): Bind M-S-<backspace to kill-whole-line.
2003-05-26 Stefan Monnier <>
* gud.el (gud-find-class): Remove unused var `pos'.
(gdb-script-mode-syntax-table, gdb-script-font-lock-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ßjohann <>
* bindings.el (global-map): Don't bind S-<backspace>. 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 obsolescence declaration; it isn't
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ßjohann <>
* 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
(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): 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
(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
(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
(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ßjohann <>
* 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
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
* ediff.el (ediff-directories,ediff-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-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
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
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
* 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) <cua-mode>:
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
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.
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 resetting 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
(kill-buffer-hook, rename-buffer): Use it.
2003-05-06 Jesper Harder <>
* progmodes/compile.el (compile-internal): Don't quote nil and t in
* 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):
* 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
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 Richard M. Stallman <>
* emacs-lisp/autoload.el (update-directory-autoloads): Renamed from
* progmodes/cperl-mode.el (cperl-nonoverridable-face): Doc fix.
* mail/sendmail.el (mail-dont-send, mail-bury): Make ARG optional.
* view.el (Helper-return-blurb): Add defvar. (Also rearrange defuns.)
* uniquify.el (uniquify-ignore-buffers-re): Change default
to match some Gnus buffers.
* newcomment.el (comment-search-forward): Add autoload cookie.
* isearch.el (isearch-complete): Update isearch-message.
* filesets.el (filesets-data): Add another defvar.
(filesets-verbosity): Doc fix.
2003-05-02 Tak Ota <>
* recentf.el (recentf-cleanup): Swap tests for exclusion and
2003-05-01 Eduardo Muñoz <> (tiny change)
* ls-lisp.el (ls-lisp-format-file-size): New function to implement
"-h" switch.
(ls-lisp-format): Use it.
2003-05-01 Kenichi Handa <>
* international/utf-8.el (utf-translate-cjk-mode): Update the
second extra slot of the translation table
(mule-utf-8): Set the property translation-table-for-encode.
2003-04-30 Stefan Monnier <>
* pcvs.el (cvs-vc-command-advice): Don't parse "cvs update -p" output.
(cvs-mode-find-file): Don't complain if bound to a non-mouse event.
* textmodes/fill.el (text-property-default-nonsticky): Add fill-space.
(fill-delete-newlines): Respect the new property.
(fill-newline): Use the property instead of leaving "spurious" spaces.
* emacs-lisp/easymenu.el (easy-menu-get-map): Correctly handle
non-submap bindings.
2003-04-30 Emmanuel Briot <>
* progmodes/ada-mode.el (ada-search-directories): Take into account
ADA_INCLUDE_PATH for better compatibility with GNAT.
(ada-contextual-menu): Menu defined through `easy-menu-define'
instead. Various adjustments to the indentation engine (handling of
subtypes, begin blocks, etc.).
(ada-create-menu): Major rewrite of the handling of menus to use
`easy-menu-define' for cleaner code and better compatibility with
XEmacs. All menus that were previously in ada-xref.el and
ada-prj.el are now defined in this package, which makes it easier to
edit menus.
(ada-narrow-to-defun): Add support for `narrow-to-region'.
No longer explicitely load ada-xref.el and ada-prj.el. Use autoload
statements instead.
* progmodes/ada-xref.el (ada-gnatls-args): New variable.
Add support for specifying arguments to gnatls.
(ada-initialize-runtime-library): Properly parse "." in the output
of gnatls.
(ada-add-keymap): Remove since this is now done in ada-mode.el itself.
(ada-add-ada-menu): Likewise.
(ada-set-default-project-file): New parameter KEEP-EXISTING.
(ada-prj-find-prj-file): New parameter FILE.
(ada-parse-prj-file): Take into account the ADA_INCLUDE_PATH and
ADA_OBJECTS_PATH environment variables. Minor reorganization of
the code.
(ada-get-all-references): Add support for GNAT 3.16 cross-references.
* progmodes/ada-prj.el (ada-prj-add-keymap): Move to ada-mode.el
directly. Add dependency on ada-xref.el to avoid compilation
(ada-prj-get-prj-dir): Remove, no longer needed.
* progmodes/ada-stmt.el (ada-stmt-add-to-ada-menu):
Move to ada-mode.el.
(ada-template-map): Merge with the keymap handling in ada-mode.el.
2003-04-29 Stefan Monnier <>
* isearch.el (isearch-complete1): Don't allocate unnecessarily.
(isearch-complete-edit): Adjust to Emacs-21's new minibuffer handling.
(isearch-update-ring): Use push.
2003-04-29 Oliver Scholz <>
* play/gamegrid.el: Added a comment explaining the various ways to
save a game score on POSIX systems.
(gamegrid-add-score-with-update-game-score): Use `cond' instead of
`if'. Provide for the case that FILE is an absolute filename.
Create the directory "$HOME/.emacs.d/games", if necessary.
2003-04-29 John Paul Wallington <>
* emacs-lisp/bytecomp.el (byte-compile-cl-warn): Use `string-match'.
2003-04-28 Dave Love <>
* emacs-lisp/bytecomp.el (byte-compile-cl-warn): Avoid cl warnings
from caaar & al.
2003-04-28 Kenichi Handa <>
* international/mule-cmds.el (reset-language-environment):
Raise the priority of mule-utf-8, mule-utf-16-be-with-signature and
* international/mule-conf.el: Set coding-category-utf-16-be to
mule-utf-16-be-with-signature, coding-category-utf-16-le to
mule-utf-16-le-with-signature. Raise the priority of
coding-category-utf-8, coding-category-utf-16-be, and
2003-04-27 Luc Teirlinck <>
* scroll-bar.el (scroll-bar-drag-1): Replace beginning-of-line with
2003-04-27 David Ponce <>
* recentf.el
Major rewrite. The code is reordered, cleaner and faster.
Introduce new options to automatically cleanup the recent list,
and to handle filename transformation (for example to use true
(recentf-version): New constant.
(recentf-save-file-header): Move.
(recentf-data-cache): New variable.
(recentf-update-menu-p, recentf-initialized-p): Remove.
(recentf-menu-customization-changed): Move. Doc fix.
(recentf-max-saved-items): Doc fix.
(recentf-save-file): Doc fix. No more expand filename here.
(recentf-exclude, recentf-menu-action)
(recentf-menu-filter): Doc fix.
(recentf-menu-append-commands-flag): Rename from...
(recentf-menu-append-commands-p): Make obsolete.
(recentf-keep-non-readable-files-flag): Rename from...
(recentf-keep-non-readable-files-p): Make obsolete.
(recentf-auto-cleanup, recentf-filename-handler): New options.
(recentf-string-equal, recentf-string-lessp)
(recentf-string-member): New functions.
(recentf-trunc-list): Move.
(recentf-dump-variable): Move. Better code and output format.
(recentf-auto-cleanup-timer): New variable.
(recentf-auto-cleanup): New function.
(recentf-push, recentf-expand-file-name): New functions.
(recentf-add-file): In-line. Use above functions.
(recentf-remove-if-non-readable): In-line. Expand file name.
(recentf-find-file): Use `recentf-remove-if-non-readable'.
(recentf-directory-compare): Move. Use `recentf-string-equal'
and `recentf-string-lessp' to do comparisons.
(recentf-menu-filter-commands): Move.
(recentf-elements, recentf-make-menu-element)
(recentf-menu-element-item, recentf-menu-element-value)
(recentf-set-menu-element-item, recentf-set-menu-element-value)
(recentf-sub-menu-element-p, recentf-make-default-menu-element)
(recentf-menu-elements): In-line. Some doc fix.
(recentf-apply-menu-filter): Better code.
(recentf-make-menu-items): Doc fix.
Use `recentf-menu-append-commands-flag'.
(recentf-make-menu-item): In-lined. Better code.
(recentf-clear-data): New function.
(recentf-sort-ascending, recentf-sort-descending)
(recentf-show-basenames-descending): In-line. Better code. Doc fix.
(recentf-relative-filter): Better code. Doc fix.
(recentf-arrange-by-rule-subfilter): Doc fix. Improve :set code.
(recentf-match-rule-p): Use filename instead of file-path.
(recentf-arrange-by-rule, recentf-build-mode-rules)
(recentf-arrange-by-mode, recentf-build-dir-rules)
(recentf-filter-changer-alist): Some doc fix and code cleanup.
(recentf-filter-changer-goto-next): Doc fix.
Call `recentf-clear-data'.
(recentf-filter-changer-get-next): In-line. Doc fix and better code.
(recentf-filter-changer): Doc fix and better code.
(recentf-cancel-dialog): Doc fix.
(recentf-dialog-mode-map): Initialize in defvar.
(recentf-dialog-mode): Doc fix.
(recentf-track-opened-file): Rename from...
(recentf-add-file-hook): Remove.
(recentf-track-closed-file): Rename from...
(recentf-remove-file-hook): Remove.
(recentf-update-menu-hook): Remove. Replace by...
(recentf-update-menu): New. Better catch unnecessary updates.
Display a message on error.
(recentf-used-hooks): New constant.
(recentf-enabled-p): New function.
(recentf-open-files-item-shift): Doc fix.
(recentf-open-files-item): Doc fix. Code cleanup.
(recentf-edit-list, recentf-open-files)
(recentf-open-more-files): Likewise. Remove autoload cookie.
(recentf-save-list, recentf-cleanup): Likewise. Move.
(recentf-load-list): New command.
(recentf-mode): Better code. Does nothing if enabling the already
enabled mode.
2003-04-27 Alan Mackenzie <>
* emacs-lisp/regexp-opt.el (regexp-opt-depth): Don't count a "//("
which appears inside a character set.
(regexp-opt-not-groupie*-re): New constant.
2003-04-26 John Paul Wallington <>
* ibuffer.el (ibuffer-name-map, ibuffer-mode-name-map)
(ibuffer-mode-filter-group-map): Initialize in `defvar'.
(ibuffer-do-view-1): Use `make-frame' instead of `new-frame'.
2003-04-25 Jan Nieuwenhuizen <>
* info.el (Info-unescape-quotes, Info-split-parameter-string)
(Info-display-images-node): New functions for displaying images.
(Info-select-node): Call Info-display-images-node.
2003-04-25 David Ponce <>
* files.el (file-relative-name): Recognize "c:/foo" as absolute
file name.
2003-04-24 Sam Steingold <>
* calendar/diary-lib.el (fancy-diary-display-mode): Bind "q" to
`quit-window' in the fancy diary buffer.
* emacs-lisp/cl-indent.el: `symbol-macrolet' is similar to `let',
not `multiple-value-bind'.
2003-04-24 Lars Hansen <>
* subr.el (assq-delete-all): Ignore non-cons elements.
2003-04-24 John Paul Wallington <>
* help-mode.el (help-make-xrefs): Remove extra paren.
2003-04-23 Stefan Monnier <>
* newcomment.el (comment-normalize-vars): Prompt the user for
the comment-start to use rather than signalling an error. Fix regexp.
(uncomment-region): Don't leave half-removed comment markers.
2003-04-23 Richard M. Stallman <>
* mail/sendmail.el (mail-send-and-exit): Make arg optional.
* files.el (view-read-only): Doc fix.
* simple.el (back-to-indentation): Call backward-prefix-chars.
* help-mode.el (help-make-xrefs): Clean up the loop that scans
over a keymap inserted by \\{...}; it now stops at end of buffer.
* filesets.el: Don't call filesets-init.
* emacs-lisp/bytecomp.el (byte-compile-defun): Generate and
compile a defalias form, unless byte-compile-compatibility.
* progmodes/scheme.el (scheme-mode-syntax-table):
Use prefix syntax for ', `, comma, @ and #.
* emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table):
Give @ prefix syntax.
2003-04-23 Andre Spiegel <>
* vc-cvs.el (vc-cvs-stay-local): Keep the old default.
Simplify doc string.
2003-04-23 Wolfgang Scherer <>
* vc-cvs.el (vc-cvs-stay-local): Allow lists of host regexps.
(vc-cvs-stay-local-p): Handle them.
(vc-cvs-parse-root): New function, used by the above.
2003-04-22 Stefan Monnier <>
* vc-mcvs.el (vc-mcvs-root): Cache the result.
(vc-mcvs-registered): Simplify. Use file-relative-name.
(vc-mcvs-register): Simplify. Don't burp if MCVS/TYPES doesn't exist.
(vc-mcvs-command): Filter F-NN names in the output for diff and log.
2003-04-21 Stefan Monnier <>
* info.el (Info-default-dirs): New fun extracted from Info-initialize.
(info-initialize): Use it. Obey the "final :" convention for INFOPATH.
* textmodes/fill.el (fill-region-as-paragraph):
Fix "last line goes to fill-column+1" problem.
* emacs-lisp/bytecomp.el (byte-compile-defvar): Improve message.
2003-04-20 Richard M. Stallman <>
* simple.el (kill-line): Doc fix.
2003-04-20 Sam Steingold <>
* pcvs.el (cvs-examine): Respect `find-file-visit-truename'.
2003-04-20 Glenn Morris <>
* which-func.el (which-func-modes): Add f90-mode.
(which-function): Handle imenu submenus.
* progmodes/fortran.el (fortran-abbrev-start): Make XEmacs compatible.
* progmodes/f90.el (f90-font-lock-keywords-2): Use override for
font-lock-variable-name-face in declarations.
Highlight continuation characters.
(f90-indent-new-line): Remove direct call to f90-indent-line-no,
(f90-abbrev-start): Fix XEmacs compatibility.
2003-04-19 Stefan Monnier <>
* vc-mcvs.el: New file.
* vc-cvs.el (vc-cvs-dir-state): Use vc-cvs-command.
(vc-cvs-could-register, vc-cvs-make-version-backups-p): Use defalias.
(vc-cvs-merge-news): Simplify.
(vc-cvs-diff): Remove unused var `options'.
(vc-cvs-parse-entry): Use the same algorithm as cvs does.
2003-04-19 Richard M. Stallman <>
* desktop.el (desktop-buffer-mh): Don't require mh-e;
it causes trouble in compilation.
* add-log.el (add-log-current-defun-function): Add autoload cookie.
* newcomment.el (comment-use-syntax): Add autoload cookie.
* emacs-lisp/bytecomp.el (byte-compile-log-file)
(byte-recompile-directory): Don't use byte-goto-log-buffer.
Instead, set default-directory and then call compilation-mode.
(byte-compile-from-buffer): Force byte-compile-last-position
to end of buffer before issuing final warnings.
2003-04-18 Stefan Monnier <>
* emulation/cua-base.el (cua-mode): Use define-minor-mode.
(cua-global-mark-face): Fix face format.
* emacs-lisp/easy-mmode.el (define-minor-mode): Only echo a message
if the body didn't do so already.
(easy-mmode-define-keymap): Remove unused var `suppress'.
* view.el (view-read-only): Move to files.el.
* files.el (view-read-only): Move from view.el.
2003-04-17 Stefan Monnier <>
* files.el (view-read-only): Don't declare a second time.
(find-file-read-only, find-file-read-only-other-window)
(find-file-read-only-other-frame): Check that file does exist.
(large-file-warning-threshold): New custom.
(find-file-noselect): Use it.
(report-errors): New macro.
(normal-mode): Use it.
(toggle-read-only): Really toggle, even if view-mode is on.
(parse-colon-path): Remove unused `cd-prefix' var.
(make-backup-file-name-1): Remove unused `failed' var.
(basic-save-buffer): Remove unused `tempsetmodes' var.
(basic-save-buffer-2): Remove unused `temp' var.
(insert-directory): Remove unused `available' var.
2003-04-17 John Paul Wallington <>
* hexl.el (hexl-find-file): Bind `default-major-mode' to
2003-04-16 Stefan Monnier <>
* reveal.el (reveal-post-command): Use overlay-get for overlays.
2003-04-16 Kenichi Handa <>
* international/mule-cmds.el (describe-language-environment):
At first, require all necessary features.
2003-04-16 Dave Love <>
* progmodes/xscheme.el: Moved from lisp directory.
2003-04-16 Glenn Morris <>
* progmodes/f90.el (f90-indent-to, f90-indent-line-no)
(f90-no-block-limit, f90-end-of-block, f90-beginning-of-block)
(f90-comment-region, f90-indent-line, f90-indent-region)
(f90-find-breakpoint, f90-block-match): Trivial simplifications.
(f90-looking-at-do, f90-looking-at-select-case)
(f90-looking-at-if-then, f90-looking-at-where-or-forall):
Drop XEmacs 19 support and simplify.
(f90-indent-new-line): No need for case-fold-search. Simplify.
(f90-fill-region): Make marker nil when done. Simplify.
* progmodes/fortran.el (fortran-column-ruler): Minor doc change.
2003-04-16 Richard M. Stallman <>
* man.el (Man-follow-manual-reference): Don't require match
when calling completing-read.
2003-04-15 Glenn Morris <>
* progmodes/fortran.el: Whitespace changes, some re-ordering of
code, trivial commentary change.
(fortran, fortran-indent, fortran-comment)
(fortran-tab-mode-default, fortran-continuation-indent)
(fortran-comment-indent-style, fortran-blink-matching-if)
(fortran-continuation-string, fortran-electric-line-number)
(fortran-break-before-delimiters, fortran-mode-hook)
(fortran-end-prog-re, fortran-imenu-generic-expression):
Minor doc changes.
(fortran-tab-mode-minor-mode-string): New variable.
(fortran-tab-mode-string): Now customization is meaningful.
(fortran-column-ruler-fixed, fortran-column-ruler-tab)
(fortran-analyze-depth): Use defcustom.
(fortran-if-start-re, fortran-end-prog-re1, fortran-fill)
(fortran-break-line, fortran-prepare-abbrev-list-buffer)
(fortran-auto-fill): Add doc string.
(fortran-type-types): New constant (was local to let binding).
(fortran-font-lock-keywords-1, fortran-font-lock-keywords-2)
(fortran-font-lock-syntactic-keywords): Initialize in defvar.
(fortran-font-lock-keywords-3): Initialize in defvar. Use 1+ now
depth of fortran-type-types has changed. Remove extra and.
(fortran-mode-menu): Minor re-organization. Use lookup-key.
(fortran-mode): Doc changes. Some re-organization.
Use fortran-tab-mode-minor-mode-string.
(fortran-comment-indent): Add doc string. Move save-excursion.
Use 1+.
(fortran-indent-comment, fortran-fill-statement):
Change interactive spec. Use unless.
(fortran-comment-region): Doc change. Reverse logic of arg
test. Use zerop.
(fortran-abbrev-start, fortran-split-line)
(fortran-electric-line-number, fortran-indent-subprogram)
(fortran-strip-sequence-nos): Change interactive spec.
(fortran-remove-continuation): Add doc string. Use when.
(fortran-numerical-continuation-char): Doc change. Use 1+.
(fortran-previous-statement, fortran-next-statement)
(fortran-beginning-do, fortran-calculate-indent)
(fortran-end-do, fortran-end-if, fortran-beginning-if):
Use zerop, 1+, 1-.
(fortran-blink-match, fortran-check-for-matching-do): Use when.
(fortran-indent-line): Change interactive spec. Remove un-needed
if. Use when.
(fortran-indent-to-column): Doc change. Use when, unless.
(fortran-find-comment-start-skip): No longer interactive.
(fortran-analyze-file-format): Minor doc change.
Remove un-needed setq.
(minor-mode-alist): Use add-to-list.
(fortran-fill-paragraph): Change interactive spec, doc string.
* progmodes/f90.el: Whitespace changes, trivial commentary changes.
(f90, f90-indent, f90-program-indent, f90-continuation-indent)
(f90-indented-comment-re, f90-imenu-generic-expression)
(f90-mark-subprogram, f90-join-lines): Minor doc changes.
(f90-menu): Shift definition to initialization of f90-mode-map.
Add customization section.
(f90-mode): Minor doc change. Do not call easy-menu-add.
Set `beginning-of-defun-function' and `end-of-defun-function' to
appropriate F90 functions.
(f90-indent-line, f90-indent-line, f90-indent-subprogram)
(f90-break-line, f90-do-auto-fill, f90-insert-end)
(f90-upcase-keywords, f90-capitalize-keywords)
(f90-downcase-keywords): Change interactive spec.
2003-04-14 Stefan Monnier <>
* font-lock.el (font-lock-multiline, font-lock-fontified)
(font-lock-set-defaults): Move back from font-core.el and merge
it back with font-lock-set-defaults-1.
(font-lock-mode-internal): New function (basically the body of
the old font-lock-mode minor mode).
* font-core.el (font-lock-maximum-size, font-lock-verbose): Remove.
(font-lock-multiline, font-lock-fontified, font-lock-set-defaults):
Move back to font-lock.el.
(font-lock-default-function): Use font-lock-mode-internal.
* files.el (auto-mode-alist): Add entries for *.ins and *.dtx.
(recover-file): Abbreviate file name in messages.
* textmodes/tex-mode.el (latex-mode-map): Bind latex-split-block.
(tex-font-lock-keywords-2): Comment out unused var `type'.
(tex-guess-mode): New name for old `tex-mode'.
(tex-mode): Make it a derived mode of text-mode.
(plain-tex-mode, latex-mode): Change parent from text-mode to tex-mode.
(tex-common-initialization): Don't setup syntax-table any more.
(tex-validate-buffer): Remove unused var `oend'.
Use with-current-buffer and line-beginning-position.
(tex-recenter-output-buffer): Remove unused var `old-buffer'.
(latex-indent): Return `noindent' if no indentation can happen.
(doctex-font-lock-^^A, doctex-font-lock-syntactic-face-function)
(doctex-font-lock-syntactic-keywords, doctex-font-lock-keywords)
(doctex-mode): New funs for DocTeX mode, derived from LaTeX mode.
* font-lock.el (font-lock-preprocessor-face): New var and face.
2003-04-14 Andrew Choi <>
* term/mac-win.el: Unconditionally set process-connection-type to nil.
2003-04-14 Richard M. Stallman <>
* derived.el (define-derived-mode): Make generated code work in
Emacs versions that do not have run-mode-hooks.
* emacs-lisp/lisp-mode.el (last-sexp-toggle-display):
At end of buffer, run the global binding of the same key.
* international/mule.el (after-insert-file-set-coding):
Properly treat INSERTED as number of characters, for both
for both the argument and the value.
* desktop.el (desktop-base-file-name):
Renamed from desktop-basefilename. Add defvaralias.
2003-04-14 John Paul Wallington <>
* international/fontset.el (create-fontset-from-ascii-font): Doc fix.
(x-must-resolve-font-name): Fix error message typo.
2003-04-13 Glenn Morris <>
* progmodes/fortran.el (fortran-previous-statement): Check for
(fortran-calculate-indent): Do not add extra whitespace to
strings broken over lines.
(fortran-fill): Handle long strings that must be broken.
2003-04-13 Michael Albinus <> (tiny change)
* net/ange-ftp.el (ange-ftp-expand-symlink): If result of
expansion is a symlink, expand again.
(ange-ftp-file-symlink-p): Return target of symlink literally.
2003-04-13 Masatake YAMATO <>
* bindings.el (toplevel): Don't change the face
of major-mode on the mode line. Setting the face on
the mode line code is installed by my mistake in
my last change.
2003-04-12 Stefan Monnier <>
* add-log.el (change-log-version-number-search): Fix old bug.
(add-change-log-entry): Avoid inserting the same funname again.
(add-log-indent-text): New var.
(add-log-indent): New fun.
(change-log-mode): Use it.
* net/browse-url.el: Don't autoload all these defcustoms.
(browse-url-default-macosx-browser): New fun.
(browse-url-browser-function): Use it for system-type = darwin.
(browse-url-usr1-signal): Remove.
(browse-url-mosaic): Use SIGUSR1 directly instead.
(browse-url-gnome-moz-program): New var.
(browse-url-gnome-moz, browse-url-default-browser): Use it.
* emacs-lisp/bytecomp.el: Use push, with-current-buffer, dolist, ...
(byte-compile-const-variables): New var.
(byte-compile-close-variables): Reset it.
(byte-compile-file-form-defvar, byte-compile-defvar): Update it.
(byte-compile-const-symbol-p): Now arg `value' to check defconsts.
(byte-compile-variable-ref): Use it and improve warning message.
(byte-compile-check-lambda-list): Use byte-compile-const-symbol-p.
(byte-compile-lapcode): Remove unused vars.
(byte-compile-eval): Fix thinko in handling of old-autoloads.
(byte-recompile-directory): Use the expanded form for directory.
(byte-compile-track-mouse): Use modern backquote syntax.
(byte-compile-defvar): Detect and properly handle (defconst a).
(byte-compile-defalias-warn): Remove unused arg `alias'.
(byte-compile-defalias): Update call.
2003-04-13 Masatake YAMATO <>
* help.el (describe-minor-mode): New function implementation.
Accept both minor mode string and minor mode indicator.
(describe-minor-mode-completion-table-for-symbol): New functions.
minor-mode-list is used here.
Renamed from (old) describe-minor-mode.
Use describe-minor-mode-completion-table-for-symbol.
Don't use eval. Just use symbol-name.
(describe-minor-mode-from-indicator): Document is updated.
Use `format-mode-line'.
Use describe-minor-mode-from-symbol instead of describe-minor-mode.
Use describe-minor-mode-completion-table-for-indicator.
(expand-minor-mode-indicator-object): Remove.
(lookup-minor-mode-from-indicator): Remove the fist white
space from both indicator and anindicator before comparing them.
* bindings.el (mode-line-major-mode-keymap)
(mode-line-minor-mode-keymap): Define keys for the maps
here in `defvar'.
2003-04-12 Stefan Monnier <>
* server.el (server-socket-name): Use new safe location for socket.
(server-ensure-safe-dir): New fun.
(server-start): Use it and letf.
(server-process-filter): Re-enable the -eval feature.
2003-04-12 Glenn Morris <>
* play/gomoku.el (gomoku-buffer-name): New constant.
(gomoku-mode): Doc fix. Add call to kill-all-local-variables.
(gomoku): Do not call gomoku-switch-to-window directly.
(gomoku-prompt-for-other-game): Throw an error if no new game.
(gomoku-switch-to-window): Use gomoku-buffer-name.
* progmodes/f90.el (f90-abbrev-start): Only offer help if
abbrev-mode is active.
(f90-join-lines): Make it behave more like standard join-line.
(f90-fill-region, f90-menu): Adapt for new f90-join-lines.
* progmodes/fortran.el (fortran-abbrev-start): Only offer help if
abbrev-mode is active.
2003-04-12 John Paul Wallington <>
* help-fns.el (help-add-fundoc-usage): Pass an empty string to
`format' if no newlines are necessary.
2003-04-11 Stefan Monnier <>
* bindings.el (global-map): Bind [select-window].
2003-04-11 John Paul Wallington <>
* type-break.el (type-break-warning-countdown-string): Doc fix.
2003-04-11 ARISAWA Akihiro <> (tiny change)
* international/utf-8.el (utf-translate-cjk-mode): Fix incorrect
place of parenthesis.
2003-04-11 Masatake YAMATO <>
* progmodes/etags.el (select-tags-table-mode-map):
Don't create new keymap. Instead copy from button-buffer-map.
Bind push-button to `t' instead of binding
select-tags-table-select directly.
(tags-select-tags-table): New button.
(select-tags-table): Put a button for each selections.
2003-04-11 Kenichi Handa <>
* international/mule.el:
Don't set after-insert-file-adjust-coding-function.
Renamed from after-insert-file-set-buffer-file-coding-system.
2003-04-11 Kenichi Handa <>
* international/quail.el (quail-guidance-str)
(quail-guidance-frame): New variables.
(quail-guidance-win): Delete this variable.
(quail-setup-overlays): Make overlay not rear-advancing.
(quail-kill-guidance-buf): Delete this function.
(quail-activate): Add/remove quail-show-guidance to/from
(quail-input-method): Don't setup quail-guidance-buf.
Initialize quail-guidance-str to "".
(quail-start-translation): Call quail-show-guidance at first.
(quail-start-conversion): Likewise.
(quail-terminate-translation): Don't erase quail-guidance-buf.
(quail-update-translation): Stretch overlays if their starting and
ending positions are same.
(quail-update-current-translations): Check the width of the
current window, not the width of quail-guidance-win.
(quail-make-guidance-frame): Delete the arg BUF. Fix position
calculation. Don't set the window buffer, just return the new frame.
(quail-minibuffer-message): New function.
(quail-show-guidance): Renamed from quail-show-guidance-buf.
Use message and quail-minibuffer-message to display the guidance.
(quail-hide-guidance): Renamed from quail-hide-guidance-buf.
Only delete quail-guidance-frame.
(quail-update-guidance): Just update quail-guidance-str, not
display it.
(quail-get-translations): Renamed from quail-show-translations.
Return a string instead of inserting it in quail-guidance-buf.
2003-04-11 Kenichi Handa <>
* international/mule-cmds.el (sort-coding-systems): Set lower
priority to a utf-16 base coding system. Set higher priority to a
coding system listed in coding-category-list.
2003-04-10 Juanma Barranquero <>
* frame.el (modify-all-frames-parameters): Deleted.
2003-04-10 Sebastian Tennant <> (tiny change)
* desktop.el (desktop-buffer-file): Restore major-mode if it is
different from the normal mode.
2003-04-10 Kenichi Handa <>
* international/mule.el:
Set after-insert-file-adjust-coding-function to
after-insert-file-set-buffer-file-coding-system instead of adding
it to after-insert-file-functions.
* language/ind-util.el (indian-2-column-to-ucs-region): Fix for
the case of replacing multibyte characters.
2003-04-09 Richard M. Stallman <>
* files.el (file-chase-links): Fix previous change.
2003-04-09 Juanma Barranquero <>
* frame.el (new-frame): Add obsolescence declaration.
2003-04-09 Ehud Karni <>
* frame.el (set-frame-font): Allow keeping frame size after
changing font.
(modify-all-frames-parameters): New function to change parameters
in all existing and future frames.
2003-04-09 Thien-Thi Nguyen <>
* man.el (Man-heading-regexp): Accept hyphen.
2003-04-09 Kenichi Handa <>
* international/fontset.el: Specify rescale ratio 1.3 for CDAC fonts.
* international/mule-conf.el: Register ?\221 and ?\226 in
2003-04-08 Richard M. Stallman <>
* subr.el (minor-mode-list): New variable.
(add-minor-mode): Add to it.
* files.el (file-chase-links): New arg LIMIT.
After that many iterations, just return what we've got.
* map-ynp.el (map-y-or-n-p): When formatting chars in ACTION-ALIST,
use single-key-description.
* emacs-lisp/lisp-mode.el (last-sexp-toggle-display):
At end of buffer, just call `newline'.
* mail/rmailsum.el (rmail-make-basic-summary-line): If there's
no From field, still try to use the To field.
2003-04-09 Kenichi Handa <>
* international/mule-diag.el (print-coding-system-briefly):
If DOC-STRING is `tightly', print the doc-string tightly.
(list-coding-systems-1): Sort coding systems.
Call print-coding-system-briefly with the arg DOC-STRING `tightly'.
2003-04-08 Kai Großjohann <>
* net/tramp.el: Version 2.0.33 released.
Change coding cookie to `iso-2022-7bit' for XEmacs
compatibility. (From Steve Youngs <>.)
2003-04-08 Michael Albinus <>
* net/tramp-ftp.el (tramp-ftp-file-name-handler):
Do not disable file name handlers for `file-exists-p' and
2003-04-08 Kenichi Handa <>
* international/mule-conf.el: Register ?\225 in latin-extra-code-table.
* international/utf-16.el (utf-16-le-decode-loop)
(utf-16-be-decode-loop): New temporary variables.
(ccl-decode-mule-utf-16-le): Use utf-16-le-decode-loop.
(ccl-decode-mule-utf-16-be): Use utf-16-be-decode-loop.
(ccl-decode-mule-utf-16): New CCL programs.
(utf-16-le-encode-loop, utf-16-be-encode-loop): New temporary
(ccl-encode-mule-utf-16-le): Use utf-16-le-encode-loop.
(ccl-encode-mule-utf-16-be): Use utf-16-be-encode-loop.
(ccl-encode-mule-utf-16-be-with-signature): New CCL programs.
(mule-utf-16-post-read-conversion): New function.
(mule-utf-16-le-with-signature, mule-utf-16-be-with-signature),
(mule-utf-16): New coding systems.
(utf-16-le-with-signature, utf-16-be-with-signature),
(utf-16): Aliases of the above coding systems.
2003-04-08 Martin Stjernholm <>
* progmodes/cc-langs.el (c-symbol-key): Use POSIX char classes
to match symbols. This makes CC Mode cope with the full range
of identifier characters in e.g. Java.
2003-04-07 Francesco Potortì <>
* xt-mouse.el (xterm-mouse-event-read): New function.
(xterm-mouse-event): Use it to get xterm sequences above #x7f.
Suggested by Aman Bhargava <>.
2003-04-07 Kai Großjohann <>
* man.el (Man-getpage-in-background): Set GROFF_NO_SGR env var in
all cases, whether or not start-process is fboundp.
2003-04-06 Richard M. Stallman <>
* calendar/cal-menu.el (cal-menu-update): Use easy-menu-create-menu
rather than easy-menu-change.
* dired.el (dired-view-file): Let viewer program run asynchronously.
2003-04-06 Ben North <> (tiny change)
* emacs-lisp/lisp-mode.el (last-sexp-toggle-display):
Correct the starting point for previous-single-property-change.
2003-04-06 Lars Hansen <>
* desktop.el: Handle multiple desktop files in different dirs.
Other cleanups.
Command line option --no-desktop introduced.
(desktop-read): Record buffers in the desktop file in
the same order as that in the buffer list,
(desktop-save): Put buffers in the order given in desktop file,
regardless of what handlers do.
(desktop-file-version): New variable. Version number of desktop
file format.
(desktop-create-buffer-form): Variable deleted.
(desktop-save): New customizable variable.
(desktop-kill): Use `desktop-save'.
(desktop-file-name-format): New option: format in
which desktop file names should be saved.
(desktop-file-name): New function to convert a filename to the
format specified in `desktop-file-name-format'.
(desktop-create-buffer): Parameters renamed to descriptive
systematic names. These parameters are visible to handlers.
ver -> desktop-file-version
mim -> desktop-buffer-minor-modes
pt -> desktop-buffer-point
mk -> desktop-buffer-mark
ro -> desktop-buffer-read-only
locals -> desktop-buffer-locals.
(desktop-buffer-major-mode, desktop-buffer-file-name)
(desktop-buffer-name): Delete unused customizable variables.
(desktop-buffer-misc): Delete unused variable.
(desktop-save, desktop-buffer-dired-misc-data):
Use `desktop-file-name'.
(desktop-path): New customizable variable. List of directories in
which to lookup the desktop file. Replaces hardcoded list.
(desktop-globals-to-clear): New variable replaces hardcoded list.
(desktop-globals-to-save): Variable made customizable.
(desktop-clear-preserve-buffers-regexp): New customizable variable.
(desktop-after-read-hook): New hook run after a desktop is read.
(desktop-no-desktop-file-hook): New hook when no desktop file found.
(desktop-change-dir): New function.
(desktop-save-in-load-dir): New function. Save desktop in
directory from which it was loaded.
(desktop-revert): New function. Revert to the last loaded desktop.
2003-04-06 Masatake YAMATO <>
* progmodes/etags.el (tag-find-file-of-tag): Renamed from
find-file-of-tag to avoid name space pollution.
(tag-find-file-of-tag-noselect): Likewise.
(etags-list-tags, etags-tags-apropos):
Use tag-find-file-of-tag instead of find-file-of-tag.
2003-04-06 Masatake YAMATO <>
* info.el (Info-goto-emacs-command-node): If command
is given as a string, convert it to a symbol.
2003-04-05 Kevin Ryde <>
* info-look.el (emacs-lisp-mode): Add prefix/suffix matching regexps.
2003-04-05 Andre Spiegel <>
* vc-cvs.el (vc-cvs-get-entries): New function that uses the
right coding system for accessing CVS/Entries.
(vc-cvs-registered, vc-cvs-dir-state-heuristic): Use it.
2003-04-04 Vinicius Jose Latorre <>
* subr.el (number-sequence): Adjust code.
2003-04-04 Stefan Monnier <>
* textmodes/refill.el (refill-fill-paragraph-at): Undo last fix.
(refill-fill-paragraph-at): Don't skip prefix since markers work right.
* textmodes/fill.el (fill-delete-newlines): Remove trailing whitespace.
(fill-paragraph): Don't skip prefix now that markers work right.
2003-04-04 John Paul Wallington <>
* ibuffer.el (ibuffer-insert-filter-group): `help-echo' text
property dynamically respects `tooltip-mode'.
(define-ibuffer-column name): Likewise.
* ibuf-ext.el (ibuffer-format-filter-group-data): Don't append "\n".
2003-04-04 Masatake YAMATO <>
* progmodes/etags.el (find-file-of-tag-noselect, find-file-of-tag):
New helper functions.
(snarf-tag-function): Doc string is changed. Explained about new
optional argument, `use-explicit'.
(etags-snarf-tag): Add one optional argument `use-explicit'.
(file-of-tag-function): Doc string is changed. Explained about new
optional argument, `relative'.
(file-of-tag): Doc string is changed. Explained about new optional
argument, `relative'. Pass `relative' to `file-of-tag-function'.
(etags-file-of-tag): Add new argument `relative`.
(list-tags): Set `buffer-read-only' to t after making the major mode
(etags-list-tags): Use `make-text-button' instead of
`add-text-properties'. Used `snarf-tag-function',
`goto-tag-location-function' and `find-file-of-tag' instead of
`find-tag-other-window' (it's too simple).
(find-tag-in-order): Use `find-file-of-tag-noselect' instead of
(etags-tags-apropos): Use `find-file-of-tag-noselect' instead of
`find-file'. Do not use `etags-goto-tag-location` directly; use
`goto-tag-location-function' instead. Print relative file paths
instead of complete ones in *Tags List* buffer, so lines in the
buffer become shorter.
(etags-tags-apropos-additional): Use `make-text-button' instead of
2003-04-04 Andreas Schwab <>
* net/tramp.el (tramp-send-string): Handle empty string.
2003-04-03 Richard M. Stallman <>
* emacs-lisp/easymenu.el (easy-menu-define):
Don't make a defvar for nil.
(easy-menu-convert-item-1): Doc fix.
(easy-menu-change): Call easy-menu-create-menu.
* subr.el (read-quoted-char): Remember the input char
before translation thru function-key-map, and use that for unreading.
* shadowfile.el (shadow-parse-fullname):
Rename from shadow-parse-fullpath.
(shadow-parse-name): Rename from shadow-parse-path.
(shadow-make-fullname): Rename from shadow-make-fullpath.
(shadow-replace-name-component): Was shadow-replace-path-component.
Callers of the above functions changed.
(shadow-expand-cluster-in-file-name): Doc fix.
(shadow-same-site, shadow-file-match): Doc fix.
(shadow-define-literal-group): Doc fix.
* kmacro.el (kmacro-end-and-call-macro): Doc fix.
* hexl.el (hexl-find-file): Ignore user's value of default-major-mode.
* files.el (hack-local-variables-prop-line): New arg MODE-ONLY.
(hack-local-variables): When MODE-ONLY is set, pass it along to
* delsel.el (delete-active-region): Don't explicitly deactivate mark.
2003-04-03 Masatake YAMATO <>
* progmodes/etags.el: Require button.el.
(etags-tags-apropos): Use `make-text-button' instead of
`add-text-properties'. Use `snarf-tag-function' and
`etags-goto-tag-location' instead of `find-tag-other-window' (it's
too simple).
* man.el (Man-xref-header-file): Fix previous change.
2003-04-03 Kenichi Handa <>
* subr.el (number-sequence): New function.
2003-04-02 Ehud Karni <> (tiny change)
* sort.el (sort-reorder-buffer): Fix saving of markers at the end
of the sorted region.
2003-04-02 Masatake YAMATO <>
* woman.el (woman-xref): Removed.
(woman-mode): Use `Man-highlight-references' instead of
(WoMan-highlight-references): Removed.
* man.el (toplevel): Require button.
(Man-header-file-path): New option.
(Man-synopsis-regexp, Man-files-regexp, Man-include-regexp)
(Man-file-name-regexp, Man-normal-file-prefix-regexp)
(Man-header-regexp, Man-normal-file-regexp): New variables.
(Man-mode-map): Inherit from `button-buffer-map'. Don't define
"\r" and mouse-2 directly. These key are defined in
(Man-xref-man-page, Man-xref-header-file, Man-xref-normal-file):
New buttons. `Man-xref-man-page' comes from woman.el.
(man-follow-mouse): Removed.
(Man-fontify-manpage): Use `Man-highlight-references' instead of
calling `add-text-properties' directly.
(Man-highlight-references, Man-highlight-references0): New functions.
(Man-view-header-file): New function.
2003-04-02 Stefan Monnier <>
* textmodes/refill.el (refill-fill-paragraph-at): Don't preserve
the trailing space since fill.el doesn't remove it anymore.
(refill-mode): Reset fill-paragraph-function even if it was nil.
* textmodes/fill.el (fill-region-as-paragraph):
Don't remove space at end of paragraph: it makes refill.el unusable.
Remove obsolete `save-restriction'.
(fill-paragraph, fill-comment-paragraph): Don't add newline at EOP.
(fill-delete-newlines): Don't add a trailing space.
(fill-newline): Don't leave markers before the prefix.
* progmodes/asm-mode.el (asm-calculate-indentation, asm-indent-line):
New functions.
(asm-mode): Use them in indent-line-function.
Set tab-always-indent to nil to stay closer to previous tab behavior.
Set comment-add. Remove space at end of comment-add.
(asm-newline): Obsolete. Use newline-and-indent instead.
(asm-mode-map): Remove TAB binding.
(asm-inline-empty-comment-pattern): Remove.
(asm-comment): Use newcomment functions instead.
(asm-colon): Don't tab if colon is not after a label.
(asm-line-matches, asm-pop-comment-level): Remove.
2003-04-02 Kai Großjohann <>
* emulation/crisp.el (top-level): Quote second arg to
2003-04-02 Miles Bader <>
* scroll-bar.el (scroll-bar-mode): Correctly specify `nil' choice.
2003-04-01 Stefan Monnier <>
* progmodes/asm-mode.el (asm-mode-syntax-table): Setup entries
that do not depend on asm-comment-char.
(asm-mode-map): Declare and init at the same time.
(asm-inline-empty-comment-pattern): Use \s< so they do not depend
on asm-comment-char. Turn them into constants.
(asm-mode): Simplify.
(asm-line-matches): Remove unused arg.
2003-04-01 Dave Love <>
* time.el: Doc fixes.
(display-time-mail-face): Change :type and default to nil.
(display-time-mail-icon): Use pbm, not xbm.
(display-time-mail-string): New.
(display-time-string-forms): Use display-time-mail-string.
Add checks in display property.
2003-04-01 Kenichi Handa <>
* language/indian.el (indian-font-char-index-table): Fix the
order of CDAC fonts.
2003-04-01 Kim F. Storm <>
* simple.el (pop-global-mark-quick-repeat): Remove defcustom.
(set-mark-command): Unconditionally repeat pop-global-mark without
C-x prefix. Fix doc.
* emulation/cua-base.el (cua-set-mark): Unconditionally repeat
pop-global-mark without C-x prefix. Fix doc.
2003-03-31 Stefan Monnier <>
* reveal.el (reveal-post-command): Better error handling.
2003-03-31 Nick Roberts <>
* gdb-ui.el (gdb-inferior-io-mode): Remove Unix pathname for cat
so that it can run on NT also.
2003-03-31 Masatake YAMATO <>
* progmodes/asm-mode.el (asm-mode): Support skipping C lang style
* bindings.el (mode-line-major-mode-keymap): New variable.
(mode-line-minor-mode-help): New function, bound to
(mode-line-modes): Split mode-line-mode definitions to
mode-name, mode-line-process and minor-mode-alist.
For mode-name, mode-line-major-mode-keymap is used.
* help.el (describe-minor-mode, describe-minor-mode-from-indicator)
(lookup-minor-mode-from-indicator): New functions.
2003-03-31 Kai Großjohann <>
* files.el (file-relative-name): Remove superfluous `and'.
Clarify docstring. From Lars Hansen.
2003-03-31 Kenichi Handa <>
* international/utf-16.el (ccl-decode-mule-utf-16-le):
Don't assume the signature bytes.
(ccl-decode-mule-utf-16-be): Likewise.
(ccl-encode-mule-utf-16-le): Don't produce the signature bytes.
(ccl-encode-mule-utf-16-be): Likewise.
2003-03-30 Kevin Ryde <>
* info-look.el (sh-mode): Add doc-specs for commands and variables.
2003-03-29 Kai Großjohann <>
* international/utf-8.el (utf-translate-cjk-mode): Minor mode,
replaces variable utf-translate-cjk which must be set via Custom.
* files.el (file-relative-name): If FILENAME and DIRECTORY are on
different drives (on DOS/Windows) or use different handlers, do
like `expand-file-name' on FILENAME and return an absolute name.
From Lars Hansen <>.
* tramp.el: Version 2.0.31 released.
(tramp-handle-expand-file-name): Do not allow ".." to
cross file handler boundaries, so that "/user@host:/../foo"
expands to itself, rather than "/foo". This is intended to work
in conjunction with a change in `file-relative-name' which makes
sure to use absolute file names if FILE and DIRECTORY have
different handlers.
(tramp-handle-insert-directory): Comment out XEmacs
kludge. Suggested by Katsumi Yamaoka <>.
2003-03-29 Michael Albinus <>
* trampver.el: New file, to support Autoconf in Tramp CVS repository.
* tramp.el (tramp-version, tramp-bug-report-address): Move to
trampver.el, which is required now.
(tramp-chunksize): Type can be nil as well.
Reported by Markus Rost <>.
* tramp-smb.el (tramp-smb-read-file-entry): Make reading size of a
listing entry more robust. Ranges from 10 chars (Samba 1) to 7-9
chars (Samba 2).
2003-03-29 John Paul Wallington <>
* international/mule.el (with-category-table): Use `make-symbol'
to avoid variable capture. Set table within `unwind-protect'.
Ensure table is restored in correct buffer. Add docstring.
2003-03-29 Kenichi Handa <>
* language/japan-util.el: If system-type is not for Windows,
prefer japanese-iso-8bit.
2003-03-28 Sudish Joseph <> (tiny change)
* term/mac-win.el (iconify-or-deiconify-frame): Define for
compatibility with packages that use it.
2003-03-28 Lute Kamstra <>
* emacs-lisp/checkdoc.el (checkdoc-display-status-buffer):
Fix docstring.
(checkdoc-interactive, checkdoc-message-interactive): Make them
perform spell checking when appropriate.
(checkdoc-interactive-loop): Fix docstring and a few typos.
(checkdoc-message-interactive-ispell-loop): New functions.
(checkdoc-next-error): Fix docstring.
(checkdoc-this-string-valid-engine): Fix typo.
(checkdoc-ispell-docstring-engine): Do test for
checkdoc-autofix-flag = nil.
2003-03-28 Jonathan Yavner <>
* emacs-lisp/testcover.el (testcover-mark-all): Handle screwy
top-level macros that put functions as properties.
(testcover-mark): No error for functions that just return a constant.
2003-03-27 Andreas Schwab <>
* vc-cvs.el (vc-cvs-parse-entry): Make sure a file with conflicts
is marked as edited.
2003-03-26 Kenichi Handa <>
* files.el (recode-file-name): New function.
* international/characters.el: Setup categories for Indian characters.
2003-03-26 Steve Youngs <>
* em-unix.el (eshell-plain-locate-behavior): Make the default
nil on Emacs, t on XEmacs.
2003-03-25 Stefan Monnier <>
* emacs-lisp/byte-opt.el (byte-optimize-set): New.
Turn `set' into `setq' when applicable.
2003-03-24 Stefan Monnier <>
* emacs-lisp/easy-mmode.el (define-minor-mode): Pass unknown keyword
args blindly to defcustom. Use custom-set-minor-mode.
2003-03-24 Kim F. Storm <>
* simple.el: Rework last change so C-x C-SPC C-SPC does not
repeat pop-global-mark by default.
(pop-global-mark-quick-repeat): New user option.
(set-mark-command): Use it.
* emulation/cua-base.el (cua-set-mark):
Check pop-global-mark-quick-repeat.
2003-03-24 John Paul Wallington <>
* emacs-lisp/easymenu.el (easy-menu-add-item): Don't default to
the global map.
* emerge.el (emerge-show-file-name): Read event irrespective of
whether minibuffer window is resized. Clear minibuffer when done.
* cus-theme.el (customize-create-theme): Rename from
2003-03-24 Luc Teirlinck <>
* cus-edit.el (custom-mode): Make `custom-local-buffer' local.
2003-03-23 Peter Breton <>
* net/net-utils.el (dns-lookup-host): New function.
2003-03-23 Martin Stjernholm <>
* progmodes/cc-mode.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.
2003-03-22 Peter Breton <>
* filecache.el (file-cache-add-directory-recursively)
(file-cache-complete, file-cache-display): New functions.
* generic-x.el (etc-modules-conf-generic-mode): New generic mode.
(rul-generic-mode): Bugfixes by
* dirtrack.el (dirtrack-cygwin-directory-function): New function.
Remove timestamp.
2003-03-22 Kim F. Storm <>
* ido.el (ido-mode): Remove unused NOBIND arg. Fix doc string