]> code.delx.au - gnu-emacs/blobdiff - lisp/ChangeLog
(occur-accumulate-lines): Add optional argument `no-props'. Handle it.
[gnu-emacs] / lisp / ChangeLog
index 124ef45f89f93840851deb83c3e8cc04e30576f1..8deeadac3aeabd683858eec8f665a1372c87c5a3 100644 (file)
-2002-04-16  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+2002-04-24  Colin Walters  <walters@verbum.org>
+
+       * replace.el (occur-accumulate-lines): Add optional argument
+       `no-props'.  Handle it.
+       (occur-engine): Use it.
+
+       * ibuf-ext.el (toplevel): Remove byte-compile-dynamic.  Try to set
+       up autoloads manually.
+       (ibuffer-split-list): New function.
+       (ibuffer-filtering-groups): New variable.
+       (ibuffer-hidden-filtering-groups): New variable.
+       (ibuffer-mouse-toggle-filter-group): New function.
+       (ibuffer-toggle-filter-group): New function.
+       (ibuffer-toggle-filter-group-1): New function.
+       (ibuffer-forward-filter-group): New function.
+       (ibuffer-backward-filter-group): New funtion.
+       (ibuffer-generate-filter-groups): New function.
+       (ibuffer-filters-to-filter-group): New function.
+       (ibuffer-pop-filter-group): New function.
+       (ibuffer-jump-to-filter-group): New function.
+       (ibuffer-do-occur): Just use `occur-read-primary-args'
+
+       * ibuffer.el (ibuffer-filter-group-name-face): New.
+       (ibuffer-mode-map): Bind and add menu entries for most new
+       functions; also, bind the arrow keys to the movement functions.
+       (ibuffer-mode-filter-group-map): New.
+       (ibuffer-mouse-toggle-mark): Handle group names.
+       (ibuffer-mouse-visit-buffer): Error if the current buffer is
+       killed.
+       (ibuffer-skip-properties): New function.
+       (ibuffer-backward-line, ibuffer-forward-line): Optionally skip
+       group names.  Also, handle new properties.
+       (ibuffer-visit-buffer, ibuffer-visit-buffer-other-window): Move
+       error handling to `ibuffer-current-buffer'.
+       (ibuffer-visit-buffer-other-frame, ibuffer-bury-buffer): Ditto.
+       (ibuffer-visit-tags-table, ibuffer-do-view-1): Ditto.
+       (ibuffer-toggle-marks): Add optional group argument.
+       (ibuffer-mark-interactive): Skip group names.
+       (ibuffer-current-buffer): Clean up error handling.
+       (ibuffer-fontify-region-function): Fontify group names.
+       (ibuffer-map-lines): Add extra group argument.  Handle it.
+       (ibuffer-current-filter-groups): New function.
+       (ibuffer-redisplay): Handle hidden filtering groups.
+       (ibuffer-sort-bufferlist): New function, taken from
+       `ibuffer-insert-buffers-and-marks'.
+       (ibuffer-insert-filter-group): New function.
+       (ibuffer-redisplay-engine): Renamed from
+       `ibuffer-insert-buffers-and-marks'.  Handle new filtering groups.
+       (ibuffer): Add filter-groups argument.  Handle it.  Use
+       `save-selected-window'.
+       (ibuffer-mode): Make `ibuffer-filtering-groups' and
+       `ibuffer-hidden-filtering-groups' buffer-local.
+       
+       * ibuf-macs.el (ibuffer-save-marks): Call
+       `ibuffer-redisplay-engine'.
+
+2002-04-24  Richard M. Stallman  <rms@gnu.org>
+
+       * emacs-lisp/easymenu.el (easy-menu-intern): Downcase before interning.
+       (easy-menu-define-key-intern): Function deleted; callers intern
+       and then call easy-menu-define-key.
+       (easy-menu-do-add-item): Explicitly intern the key, but not BEFORE.
+       (easy-menu-define-key): Use easy-menu-name-match to match BEFORE.
+       (easy-menu-name-match): New function.
+       (add-submenu): New function.
+       (easy-menu-get-map-look-for-name): Use easy-menu-name-match.
+
+2002-04-24  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * menu-bar.el (menu-bar-adv-search-menu) 
+       (menu-bar-adv-search-menu): Improve the help text.
+
+2002-04-24  Simon Josefsson  <jas@extundo.com>
+
+       * net/netrc.el: New file.
+
+2002-04-24  Thomas DeWeese <tdeweese@rochester.rr.com>
+
+       * term/x-win.el (x-select-text, x-cut-buffer-or-selection-value):
+       Check if any of the available selection sources has new content
+       and if so it will return that content.
+
+2002-04-24  Miles Bader  <miles@gnu.org>
+
+       * menu-bar.el (buffers-menu-show-directories) 
+       (buffers-menu-show-status): New variables.
+       (menu-bar-update-buffers-1): Use them.
+
+2002-04-24  Martin Stjernholm  <mast@lysator.liu.se>
+
+       * 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.  Fixed 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.
+
+2002-04-24  Miles Bader  <miles@gnu.org>
+
+       * menu-bar.el (menu-bar-update-buffers-1): Make sure
+       `uniquify-buffer-name-style' is bound.
+
+2002-04-23  Colin Walters  <walters@verbum.org>
+
+       * replace.el (toplevel): Require `cl' while compiling.
+       (occur-buffer, occur-nlines): Delete.
+       (occur-revert-properties): Rename to `occur-revert-properties'.
+       (occur-mode): Handle it.  Set up font lock.
+       (occur-revert-function): Simply apply `occur-1'.
+       (occur-mode-find-occurence, occur-mode-mouse-goto)
+       (occur-mode-goto-occurrence-other-window)
+       (occur-mode-display-occurrence): Handle buffer property.
+       (list-matching-lines-face): Use defcustom.
+       (list-matching-lines-buffer-name-face): New variable.
+       (occur-accumulate-lines): Renamed from `ibuffer-accumulate-lines',
+       in ibuffer.el.
+       (occur-read-primary-args): Move out of `occur'.
+       (occur): Delete.  Now simply call `occur-1'.
+       (multi-occur, multi-occur-by-filename-regexp): New functions.
+       (occur-1): New function.
+       (occur-engine): Renamed from `ibuffer-occur-engine' to replace the
+       previous implementation of `occur'; taken from ibuf-ext.el.
+       (occur-fontify-on-property): New function.
+       (occur-fontify-region-function, occur-unfontify-region-function):
+       New functions.
+       
+       * ibuffer.el (ibuffer-accumulate-lines): Moved to replace.el.
+       
+       * ibuf-ext.el (ibuffer-depropertize-string): Delete.
+       (ibuffer-occur-match-face): Delete.
+       (ibuffer-occur-props, ibuffer-occur-mode): Delete.
+       (ibuffer-occur-mouse-display-occurence): Delete.
+       (ibuffer-occur-goto-occurence, ibuffer-occur-display-occurence):
+       Delete.
+       (ibuffer-do-occur-1, ibuffer-occur-revert-buffer-function):
+       Delete.
+       (ibuffer-occur-engine): Moved to replace.el.
+       (ibuffer-do-occur): Simply call `occur-1'.
+
+       * play/gamegrid.el (gamegrid-add-score-with-update-game-score):
+       Handle the case where we're already viewing the score file.
+
+2002-04-23  Andreas Schwab  <schwab@suse.de>
+
+       * menu-bar.el (menu-bar-goto-menu): Fix bindings for next-tag and
+       next-tag-otherw.
+
+2002-04-23  Miles Bader  <miles@gnu.org>
+
+       * menu-bar.el (menu-bar-update-buffers-1): Don't display a
+       directory separator if there's no directory.  Don't display
+       directories at all if uniquify is active.  Some code cleanup.
+       (uniquify-buffer-name-style): Declare (but don't initialize).
+
+       * menu-bar.el (menu-bar-update-buffers): Don't use constant lists
+       for command menu entries, since the low-level menu code modifies
+       them.  Cache the resulting list.
+       (menu-bar-buffers-menu-command-entries): New variable.
+
+       * menu-bar.el (menu-bar-update-buffers): Add `Select Named Buffer'.
+       Add separator line before commands
+       Remove old crufty code that tried to line things up by adding
+       spaces to entries (it doesn't work).
+       Move `Frames' submenu after the normal buffers, and add a
+       separator line before it.
+       (menu-bar-buffers-menu-list-buffers-entry): Variable removed.
+
+2002-04-22  Richard M. Stallman  <rms@gnu.org>
+
+       * files.el (after-find-file): Use %s to output MSG.
+
+       * dired.el (dired-mouse-find-file-other-window):
+       Handle events that move out of the window.
+
+2002-04-23  Martin Stjernholm  <mast@lysator.liu.se>
+
+       * progmodes/cc-cmds.el (c-mask-comment): Fixed 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.
+
+2002-04-22  Richard M. Stallman  <rms@gnu.org>
+
+       * simple.el (line-move-finish): Find beg and end of line
+       before calling line-move-to-column.  Do consider intangible
+       when finding the end.  Take more care in analyzing the results
+       of intangibility after line-move-to-column.
+
+2002-04-22  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
+
+       * international/mule-diag.el (list-input-methods-1): Doc fix
+       (LEIM is now part of the standard distribution).
+
+       * tmm.el (tmm-completion-prompt): Doc fix.
+
+       * hilit-chg.el (global-highlight-changes): Capitalize status
+       texts.
+
+2002-04-22  Edward M. Reingold  <reingold@emr.cs.iit.edu>
+
+       * diary-lib.el (include-other-diary-files): Allow modifying
+        included buffer, to turn off selective display.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-mode.el: (c-define-abbrev-table): New function to
+       pass the SYSTEM-FLAG to `define-abbrev' in a way that works in
+       emacsen that doesn't support it.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-align.el, progmodes/cc-engine.el,
+       progmodes/cc-styles.el, progmodes/cc-vars.el
+       (c-guess-basic-syntax, c-lineup-topmost-intro-cont): Find
+       correct anchor for statement-cont in top level constructs.
+       Analyze variable initializations in top level constructs as
+       topmost-intro-cont instead of statement-cont.  That is an
+       incompatible change but it gives better consistency.  The new
+       lineup function c-lineup-topmost-intro-cont' compensates for
+       it and is now put on topmost-intro-cont by default.
+
+       * progmodes/cc-align.el, progmodes/cc-engine.el,
+       progmodes/cc-langs.el (c-lineup-argcont): Lineup function
+       contributed by Kevin Ryde.
+
+       (c-in-gcc-asm-p): Function to recognize asm statements.
+       Contributed by Kevin Ryde.
+
+       (c-opt-asm-stmt-key): New language variable to recognize the
+       beginning of asm statements.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Detect
+       variable declarations after class and struct declarations
+       correctly.  Fixed limit error when finding the anchor for
+       template-args-cont and topmost-intro-cont.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-beginning-of-defun,
+       c-declaration-limits): Find the "line oriented" declaration
+       start too, just like the "line oriented" end is found.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-vars.el (c-offsets-alist): A more sane default
+       for `inexpr-statement'.  This is not compatible, though.  I
+       think the benefit of a good default style outweights that in
+       this case.  Besides, `inexpr-statement' is not very common.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-electric-delete-forward): Fixed
+       silly bug that caused it to delete backwards in hungry delete
+       mode.  (It's amazing that this bug hasn't been reported.)
+
+       * progmodes/cc-cmds.el (c-declaration-limits, c-mark-function):
+       Extracted the code to get the declaration limits from
+       `c-mark-function' to a new `c-declaration-limits'.
+
+       (c-indent-defun): Use the same method to get the limits of the
+       declaration or macro as `c-mark-function'.
+
+       * progmodes/cc-engine.el (c-beginning-of-decl-1): Handle brace
+       list initializers correctly (but costly; it ought to be
+       integrated into `c-beginning-of-statement-1').
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el, progmodes/cc-engine.el
+       (c-beginning-of-defun, c-end-of-defun, c-mark-function):
+       Rewritten to detect the declaration limits better.  Now
+       handles K&R argdecls, class definitions followed by variables
+       etc.
+
+       (c-in-knr-argdecl): Broke out the K&R argdecl test in
+       `c-beginning-of-decl-1' to this new function.
+
+       (c-end-of-statement-1, c-end-of-decl-1): Replaced
+       `c-end-of-statement-1' with `c-end-of-decl-1', which correctly
+       handles declarations that continue after the block.
+
+       * progmodes/cc-engine.el (c-syntactic-re-search-forward):
+       Added an option to restrict matching to the top level of the
+       current paren sexp.
+
+       * progmodes/cc-langs.el (c-opt-block-decls-with-vars-key): New
+       regexp to recognize declarations that continue after the
+       block.
+
+       (c-syntactic-eol): New regexp to match a "syntactic" eol.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed a bug
+       that often caused the backward limit to be lost at the top
+       level.  This improves performance a bit.
+
+       * progmodes/cc-engine.el (c-syntactic-re-search-forward): New
+       function that works like `re-search-forward' but only returns
+       matches in syntactically significant text.
+
+       * progmodes/cc-engine.el: Fixed a faster and more accurate way
+       to recognize K&R argdecls.
+
+       (c-beginning-of-decl-1): New function that put point at the
+       beginning of the declaration.  It handles K&R argdecl blocks.
+
+       (c-guess-basic-syntax): Replaced the `knr-argdecl' recognition
+       code with one that doesn't depend on the current indentation.
+       The anchor position for `knr-argdecl' has also changed, but in
+       a way that is unlikely to cause compatibility problems.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-defs.el, progmodes/cc-engine.el
+       (c-forward-comment): `forward-comment' in XEmacs skips over
+       line continuations in the backward direction.  Correct for
+       that.  Also made this a defun since it has grown too large now
+       to be a defsubst.
+
+       * progmodes/cc-langs.el: More convenient and decentralized
+       setup of the language specific variables.  The regexp-opt
+       mangling is also done at compile time now.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-indent-line-or-region): Call
+       `c-indent-line' directly instead of through
+       `indent-according-to-mode' so that this function always
+       indents syntactically.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed a bug
+       where a class beginning with a nested class could cause an
+       infinite loop (the state outside the narrowed out class is
+       never used now).
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-align.el, progmodes/cc-cmds.el,
+       progmodes/cc-engine.el, progmodes/cc-vars.el: Fixes so that
+       the context sensitive analysis inside macros is restricted to
+       the bodies of #define's; other things, like #if expressions,
+       never have anything in common with their surroundings.  The
+       old `cpp-macro-cont' syntax is now used in situations where
+       the syntactic analysis isn't applicable, and a new syntactic
+       element `cpp-define-intro' is used to add indentation in
+       #define bodies.
+
+       (c-lineup-cpp-define): New name for `c-lineup-macro-cont' to
+       better reflect its use.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Ignore line
+       continuation backslashes in the detection of
+       `arglist-cont-nonempty'.
+
+       * progmodes/cc-align.el: Use the vector form in the return
+       value in all cases where lineup functions return absolute
+       columns.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-add-stmt-syntax,
+       c-guess-basic-syntax): Anchor `brace-list-intro' and
+       `bracec-list-close' better for brace lists nested inside
+       expressions.
+
+       * progmodes/cc-engine.el, progmodes/cc-langs.el,
+       progmodes/cc-mode.el, progmodes/cc-styles.el: Cleaned up the
+       various language specific variables and their initialization.
+       The keyword regexps are now lists that are combined with
+       regexp-opt.  Some variables have changed names to fit better
+       with the naming convention.
+
+       * progmodes/cc-defs.el, progmodes/cc-vars.el
+       (c-buffer-is-cc-mode): The value is the mode symbol of the
+       original CC Mode mode.
+
+       (c-major-mode-is): Compare against the buffer local variable
+       `c-buffer-is-cc-mode', which is faster than using
+       `derived-mode-class'.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-forward-syntactic-ws,
+       c-backward-syntactic-ws, c-forward-token-1,
+       c-backward-token-1, c-in-literal, c-literal-limits,
+       c-collect-line-comments, c-literal-type, c-on-identifier,
+       c-guess-basic-syntax): These functions are now considered part
+       of the "CC Mode API" and may be used by other code.  That's
+       signified by making their documentation into docstrings.
+
+       (c-whack-state, c-hack-state, c-skip-case-statement-forward):
+       Removed these internal functions since they aren't used.
+
+       (c-forward-to-cpp-expression): Classified this function as
+       internal.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-langs.el (c-ObjC-class-key, c-Java-class-key):
+       Simplified these regexps; the class keywords they contain
+       ought to be enough to avoid false matches, so checking for
+       following identifiers etc is just unnecessary (and might also
+       fail for oddly formatted code).
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el, progmodes/cc-cmds.el
+       (c-forward-comment-lc): New function that behaves like
+       `c-forward-comment', with the exception that line
+       continuations are treated as whitespace.
+
+       (c-beginning-of-statement): Use `c-forward-comment-lc', to
+       work correctly in macros and other places where line
+       continuations should be treated as whitespace.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Analyze a
+       normal label in a switch block as a case label, to get
+       consistent lineup with the case labels.
+
+       * progmodes/cc-engine.el (c-backward-syntactic-ws): Fixed bug
+       in skipping over a macro that ends with an empty line.
+
+       * progmodes/cc-styles.el: Require cc-align since styles added
+       with `c-add-style' often contains references to functions
+       defined there, and so the `c-valid-offset' check might
+       otherwise complain on them.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-align.el, progmodes/cc-mode.texi,
+       progmodes/cc-vars.el: Added two new lineup functions:
+
+       (c-lineup-knr-region-comment): A new lineup function to get
+       (what most people think is) better indentation of comments in
+       the "K&R region" between the function header and its body.
+
+       (c-lineup-gcc-asm-reg): New lineup function for better
+       indentation inside gcc asm blocks.  Contributed by Kevin Ryde.
+
+       (c-offsets-alist): Use `c-lineup-gcc-asm-reg' and
+       `c-lineup-knr-region-comment' in the default offset
+       configuration, since these two functions have little impact
+       outside their intended use, and they generally do the right
+       thing when they kick in.
+
+       * progmodes/cc-engine.el (c-guess-continued-construct,
+       c-guess-basic-syntax): Handle nested functions in all
+       languages, not just Pike.  In C and C++ there's a gcc
+       extension for this, and it also gives better treatment of
+       macros that are followed by blocks.
+
+       * progmodes/cc-langs.el (c-symbol-key): Made this variable
+       mode specific, to handle Pike special symbols like `== better.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el, progmodes/cc-engine.el,
+       progmodes/cc-vars.el (c-report-syntactic-errors): A new
+       variable to control the syntactic error messages.  It defaults
+       to off; since CC Mode ignores most syntactic errors it might
+       as well ignore them all for the sake of consistency.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-looking-at-inexpr-block):
+       Optimization.  Can give a noticeable speedup if there's a
+       large preceding function or class body.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-align.el, progmodes/cc-cmds.el: Use more
+       efficient and correct insertion functions in many places.
+       Always inherit text properties correctly if the text is
+       permanent.  Also do it for speed in temporary insertions,
+       since I figure it's less work to continue the surrounding text
+       properties than to break them.
+
+       * progmodes/cc-styles.el (c-read-offset): Unbind SPC in the
+       completion to make it easier to enter lists.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-beginning-of-defun): Fixed bug where
+       c-state-cache was clobbered.
+
+       * progmodes/cc-cmds.el, progmodes/cc-engine.el
+       (c-calculate-state): Moved from cc-cmds.el to cc-engine.el due
+       to dependency.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-parse-state): Ignore unbalanced
+       open parens in macros (if point isn't in the same one).
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-context-open-line): New function
+       that is the `open-line' equivalent to `c-context-line-break'.
+
+       * progmodes/cc-mode.el (c-mode-base-map): Compatibility fix
+       for Emacs 21 since `indent-new-comment-line' has been changed
+       to `comment-indent-new-line' there.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el, progmodes/cc-langs.el
+       (c-stmt-delim-chars, c-stmt-delim-chars-with-comma): New
+       variables containing the character sets used to recognize
+       statement/declaration boundaries.  These variables might help
+       to support languages like javascript and awk, where newlines
+       sometimes delimits statements.
+
+       (c-crosses-statement-barrier-p): Use `c-stmt-delim-chars' as
+       the set of statement delimiting characters, to allow it to be
+       changed dynamically and per-mode.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-looking-at-bos,
+       c-looking-at-inexpr-block, c-add-stmt-syntax,
+       c-guess-basic-syntax): Treat blocks directly inside function
+       calls like "bare" statements inside function calls, and not
+       like in-expression statements.  This to make indentation of
+       such blocks consistent with other statements inside macro
+       calls.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Made
+       arglist-cont anchor correctly in arglists that contain
+       statements.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed
+       consistent anchoring of defun-block-intro in defuns in code
+       blocks (can only occur in Pike).
+
+       * progmodes/cc-engine.el (c-looking-at-inexpr-block,
+       c-looking-at-inexpr-block-backward): Changed the arguments to
+       require containing sexps and paren state, for better
+       efficiency.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el, progmodes/cc-engine.el,
+       progmodes/cc-vars.el: Improved anchoring of statement and
+       handling of labels in front of substatements.
+
+       (c-guess-continued-construct, c-guess-basic-syntax): Improved
+       and unified anchoring at statements.  Statements beginning
+       with comments or labels are now avoided, by going out of
+       blocks and containing statements if necessary.  This nesting
+       handling also fixes the case when there's a statement after a
+       block open brace.  Added the syntactic symbol
+       `substatement-label'.
+
+       (c-electric-colon): Map the new `substatement-label' to
+       `label' when consulting `c-hanging-colons-alist'.
+
+       (c-offsets-alist): Added substatement-label.  Updated the
+       comments for the new anchoring positions at statements.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Use more sane
+       anchor points for knr-argdecl-intro and access-label.  They
+       used to refer to some point on the same line, a bug which was
+       neutralized by a kludge in `c-get-syntactic-indentation' which
+       ignored such anchor points.
+
+       (c-get-syntactic-indentation): Removed the kludge that was
+       necessary due to buggy anchor points.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Do not check
+       the absence of a comma before arglist-close (case 7A) in any
+       language, since there's nothing better to do that case anyway.
+       Added special case to make in-expression statements be
+       recognized as normal arglist-cont if we're directly in a macro
+       arglist, for consistency with other "bare" statements.
+
+       * progmodes/cc-engine.el (c-looking-at-bos): Added optional
+       limit arg for backward searches.
+
+       * progmodes/cc-engine.el (c-looking-at-inexpr-block): Anchor
+       gcc in-expression statements at the surrounding open
+       parenthesis.  Treat a class body as an in-expression class if
+       it's used in an object clone expression in Pike.
+
+       * progmodes/cc-engine.el (c-get-offset,
+       c-get-syntactic-indentation): Allow several anchor positions
+       in the list of syntactic symbols.  Only the first is used as
+       the base for the offset calculation.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-indent-defun): Indent the current
+       macro if inside one at the top level.  Do not throw an error
+       if used at the top level outside a macro.
+
+       * progmodes/cc-cmds.el (c-backslash-region): Do tab width
+       alignment only if the backslashes can't be aligned with
+       surrounding backslashes.
+
+       * progmodes/cc-engine.el (c-end-of-macro): New function.
+
+       * progmodes/cc-engine.el (c-least-enclosing-brace): Rewritten
+       to not be destructive.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-context-line-break): Only do a macro
+       line break when point is inside the content of it; if it's in
+       the cpp keyword a normal line break is done.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Do not add
+       cpp-macro-cont inside the argument list to a #define.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-defs.el (c-forward-comment): Implemented a
+       kludge to avoid the problem most forward-comment incarnations
+       have with `\' together with comment parsing.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-check-state-cache): Fixed bug
+       which could cause the state returned by `c-parse-state' to
+       lack a closed paren element.  That in turn could result in
+       very long searches, since it's common that they start from the
+       last preceding close brace.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-beginning-of-statement-1): Do not
+       treat else-if as a single continuation, since that'd make it
+       hard to get the right anchor point when there's a line break
+       between the two keywords.  This change causes else-clause to
+       be anchored on the closest preceding else-if and not always on
+       the starting if, but that doesn't affect the indentation for
+       any reasonably sane style.  Also introduced a noerror flag.
+
+       (c-beginning-of-closest-statement): Removed;
+       c-beginning-of-statement-1 now avoids the problem this one
+       solved.
+
+       * progmodes/cc-engine.el (c-guess-continued-construct,
+       c-guess-basic-syntax): Better and more uniform anchor points
+       for 'statement-cont and 'substatement.  The effect is
+       noticeable mostly when there's a label on the same line as the
+       beginning of the statement, or when there are more stuff
+       before the start of the statement.
+
+       * progmodes/cc-engine.el (c-looking-at-inexpr-block): Added
+       flag to disable looking at the type of the surrounding paren
+       since that confuses c-beginning-of-statement-1 and a couple of
+       other places.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Avoid
+       stepping to the previous statement in case 18.  Improvements
+       in recognition of statement blocks on the top level.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-beginning-of-statement-1,
+       c-crosses-statement-barrier-p): Rewritten to get a well
+       defined and documented behavior.  This fixes some tricky cases
+       in recognition of do-while constructs.
+
+       (c-backward-to-start-of-do, c-backward-to-start-of-if):
+       Removed; use c-beginning-of-statement-1 instead.
+
+       (c-guess-continued-construct, c-guess-basic-syntax): Various
+       fixes to not depend on the bugs previously in
+       c-beginning-of-statement-1.  Cleanups in cases 18 and 17 to
+       use the new behavior of c-beginning-of-statement-1 better.
+       Fixed recognition of catch blocks inside macros.
+
+       * progmodes/cc-engine.el (c-backward-syntactic-ws): Fixed bug
+       in skipping over a macro.
+
+       * progmodes/cc-langs.el (c-label-kwds): New variable to
+       contain the appropriate c-*-label-kwds value.
+
+       * progmodes/cc-vars.el (defcustom-c-stylevar): Fixed value
+       evaluation bug that caused the widget for
+       c-block-comment-prefix to bug out.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Improved
+       recognition of statements: They are now recognized in contexts
+       where they normally can't occur, e.g. on the top level or in
+       function call arguments.  This is mainly useful to recognize
+       statements in macros at the top level, and in arguments to
+       macros.  The cases has been moved around quite a bit, and case
+       10 has been copied to case 18.  (The cases has not been
+       renumbered because of this.)
+
+       (c-guess-continued-construct): New function which has the
+       rules which are common between cases 10 and 18.
+
+       * progmodes/cc-engine.el (c-beginning-of-statement-1,
+       c-backward-to-start-of-do, c-backward-to-start-of-if): Fixes
+       so that they really obey the passed limits.
+
+       (c-safe-position): Return nil if the state doesn't contain a
+       suitable position.
+
+       (c-guess-basic-syntax): Fixes some too short limits in calls
+       to c-beginning-of-statement-1.  Some fixes for top level
+       analysis in ObjC mode.
+
+       * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed
+       bug in do-while statements where the body is not a block.
+
+       * progmodes/cc-styles.el (c-set-style): Reset
+       c-special-indent-hook to its global value if in override mode.
+       Fixes problem where functions on that hook remained after
+       style switch.
+
+       * progmodes/cc-engine.el (c-evaluate-offset, c-get-offset):
+       Use c-benign-error to report the c-strict-syntax-p error.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-align.el, progmodes/cc-defs.el,
+       progmodes/cc-cmds.el, progmodes/cc-engine.el, cc-vars.el:
+       Several fixes to treat macros as code and not literals and to
+       handle line continuations transparently.
+
+       (c-skip-ws-forward, c-skip-ws-backward): New macros to skip
+       through whitespace and line continuations, but not comments
+       and macros.
+
+       (c-in-literal): No longer recognizes macros as literals by
+       default. An extra flag argument is required to do that.
+
+       (c-macro-start, c-query-macro-start,
+       c-query-and-set-macro-start): Added a cache for the macro
+       start position.
+
+       (c-forward-syntactic-ws, c-backward-syntactic-ws): Fixes for
+       more speed when limits are given.  Workaround for bad behavior
+       in forward-comment in some emacsen when it hits a buffer limit
+       with a large repeat count.
+
+       (c-lineup-macro-cont): Improved behavior when
+       c-syntactic-indentation-in-macros is nil.
+
+       (c-syntactic-indentation-in-macros, c-backslash-max-column,
+       c-auto-align-backslashes): New customization variables to
+       control macro handling.
+
+       * progmodes/cc-menus.el (cc-imenu-c++-generic-expression):
+       Fixes to handle line continuations.
+
+       * progmodes/cc-defs.el, progmodes/cc-styles.el
+       (c-get-style-variables, c-set-offset): Report style errors
+       with message and ding instead of error signal.  This to avoid
+       interrupted mode init if there's some style problem.
+
+       (c-benign-error): New macro to report errors that doesn't need
+       to interrupt the operation.
+
+       * progmodes/cc-defs.el (c-point): Added eonl and eopl
+       positions.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-electric-brace, c-indent-region):
+       Removed most of the c-state-cache fiddling, since the global
+       state cache now handles this.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug
+       when there's an open paren at the very first char of the
+       visible buffer region.
+
+       * progmodes/cc-engine.el (c-parse-state, c-check-state-cache):
+       Cache the state globally and invalidate it below every buffer
+       change with the new after change function
+       `c-check-state-cache'.  This gives a considerable performance
+       boost when editing large functions or classes.
+
+       * progmodes/cc-engine.el (c-whack-state-after): Slight
+       optimization.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el, progmodes/cc-langs.el,
+       progmodes/cc-align.el: Improvements to syntactic analysis
+       inside macros:
+
+       (c-block-stmt-1-kwds, c-block-stmt-2-kwds): New variables used
+       by `c-guess-basic-syntax'.
+
+       (c-parse-state): Fixed bug with braces inside macros when
+       using cached state info.
+
+       (c-forward-to-cpp-expression): New function to aid in
+       syntactic analysis inside macros.
+
+       (c-beginning-of-statement-1, c-backward-syntactic-ws): Fixes
+       to work better inside macros.
+
+       (c-forward-syntactic-ws): Whitespace between the # and the
+       command should be allowed in preprocessor directives.
+
+       (c-lineup-macro-cont): New lineup function to get context
+       sensitive indentation inside macros.
+
+       (c-offsets-alist): Made `c-lineup-macro-cont' the default for
+       cpp-macro-cont.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-beginning-of-statement-1,
+       c-forward-syntactic-ws): Fixes to handle continued lines.
+
+       (c-backward-to-start-of-if, c-guess-basic-syntax): Do
+       syntactic analysis inside macros.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-indent-region): Did a speedup made
+       possible by the more flexible state cache.
+
+       * progmodes/cc-engine.el (c-parse-state, c-whack-state-before,
+       c-whack-state-after, c-hack-state,
+       c-narrow-out-enclosing-class, c-guess-basic-syntax): Improved
+       the state cache system.  It now can use partial info from an
+       old cached state to calculate a new one at a different
+       position.  Removed some kludges to avoid the state cache.  The
+       new functions `c-whack-state-before' and `c-whack-state-after'
+       replace the now obsolete `c-whack-state'.
+
+       * progmodes/cc-engine.el (c-beginning-of-statement-1):
+       Optimized backing through a macro.  This can speed things up
+       quite a bit when there are long macros before point.
+
+       (c-beginning-of-macro): Do not ignore the limit.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-electric-continued-statement): Fixed
+       a bug where the keyword wasn't reindented correctly if
+       followed by another keyword or identifier.
+
+       * progmodes/cc-engine.el (c-parse-state): Ignore closed brace
+       pairs that are in macros.  Fixes some cases where e.g. the
+       second of two "do { } while (0)" macros after each other
+       indented differently.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-beginning-of-macro,
+       c-forward-syntactic-ws): Recognize "#!" as a preprocessor
+       directive when it begins a line, to allow for script
+       interpreter lines like "#!/usr/bin/pike" at the beginning of
+       the file.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-looking-at-inexpr-block):
+       Recognize brace blocks inside a parenthesis expression as
+       inexpr-statement.  Useful when writing statements as macro
+       arguments.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-fill-paragraph, c-do-auto-fill,
+       c-mask-comment): Broke out the comment masking code from
+       `c-fill-paragraph' to a new function `c-mask-comment', to be
+       able to do the same thing in `c-do-auto-fill'.  This should
+       make auto-fill-mode behave better.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-electric-brace, c-electric-paren):
+       Check `executing-macro' to avoid blinking parens when macros
+       are executed.
+
+       * progmodes/cc-mode.el, progmodes/cc-styles.el
+       (c-setup-filladapt): Moved from cc-mode.el to cc-styles.el for
+       consistency with `c-setup-paragraph-variables' (which was
+       placed there due to the dependency from `c-set-style').
+
+       * progmodes/cc-styles.el, progmodes/cc-vars.el: Fixed bug with
+       incomplete initialization from the style variable fallbacks if
+       there already is a style called "user" defined when CC Mode
+       starts up for the first time.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el, progmodes/cc-vars.el
+       (c-comment-indent, c-indent-comment-alist): Added new variable
+       `c-indent-comment-alist' to allow better control over
+       `c-comment-indent'.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-align.el (c-lineup-C-comments): Try to match
+       both `comment-start-skip' and the comment prefix on the
+       current line with the comment starter, so that we line up
+       comments which matches `c-comment-prefix-regexp' on the first
+       line (after the `/') without the need to make
+       `comment-start-skip' match whatever `c-comment-prefix-regexp'
+       matches.
+
+       * progmodes/cc-mode.el, progmodes/cc-styles.el (c-common-init,
+       c-set-style-1, c-setup-paragraph-variables): Moved the
+       variable initialization based on `c-comment-prefix-regexp' to
+       a new function `c-setup-paragraph-variables', which is now
+       used both at mode init and when a style that sets
+       `c-comment-prefix-regexp' is activated.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-beginning-of-member-init-list):
+       Better handling of C++ template args to avoid confusion with
+       `<' and `>' used as operators in member init expressions.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-most-enclosing-brace,
+       c-least-enclosing-brace): Added optional second arg to limit
+       the search to before a certain point.
+
+       * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug
+       which could cause incorrect analysis if a cached state is used
+       (usually only happens when an electric key reindents a line).
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-defs.el (c-forward-comment): More idiosyncrasy
+       insulation.  This time for XEmacs 21.
+
+       * progmodes/cc-engine.el, progmodes/cc-langs.el: Improved
+       handling of inheritance lists:
+
+       (c-beginning-of-inheritance-list): Rewritten to use a more
+       syntactically correct method that doesn't get confused by
+       badly placed linebreaks and comments.
+
+       (c-guess-basic-syntax): Several fixes to the handling of
+       inheritance lists in combination with templates.  'inher-intro
+       is now anchored on the start of the class declaration and not
+       the indentation of the current line.  Switched places on cases
+       5D.3 and 5D.4 and made them use more syntactically correct
+       methods.
+
+       (c-inher-key): Removed since the code in
+       `c-guess-basic-syntax' now uses token-based search.
+
+       * progmodes/cc-cmds.el, progmodes/cc-mode.el (c-mode-menu):
+       Added a submenu to access some toggles.
+
+       (c-toggle-syntactic-indentation): New function to toggle the
+       variable `c-syntactic-indentation'.
+
+       * progmodes/cc-styles.el (c-set-style): Improved the error
+       message for incorrect offsets a bit.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-indent-exp): Don't require that the
+       sexp follows point immediately, instead find the closest
+       following open paren that ends on another line.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-align.el (c-lineup-cascaded-calls): New
+       indentation function.
+
+       * progmodes/cc-engine.el (c-beginning-of-macro): Bugfix for
+       directives with whitespace between the '#' and the name.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-forward-syntactic-ws,
+       c-backward-syntactic-ws): Handle line continuations as
+       whitespace.  Don't move past a macro if that'd take us past
+       the limit.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-engine.el (c-beginning-of-macro,
+       c-forward-syntactic-ws): Multiline strings begin with `#"' in
+       Pike, and that shouldn't be confused with a preprocessor
+       directive.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el: Extended the kludge to interoperate
+       with the delsel and pending-del packages wrt to the new
+       function `c-electric-delete-forward'.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-indent-exp): Keep the indentation of
+       the block itself, i.e. only indent the contents in it.
+
+       * progmodes/cc-styles.el (c-set-style): Use the default
+       argument to completing-read instead of initial-contents, if
+       the function is recent enough to support it.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-mode.el (c-mode-help-address): Removed
+       bug-gnu-emacs@gnu.org from the receiver list for bug reports.
+       I've almost never seen a bug reported this way that should go
+       to that list, but it's rather common that the reports concern
+       the combination CC Mode and XEmacs instead.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-electric-paren): Fixed bug when both
+       brace-elseif-brace and brace-catch-brace are active and
+       there's a "else if"-block before the catch block.
+
+       * progmodes/cc-menus.el (cc-imenu-c++-generic-expression):
+       Detect function headers that span lines.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-electric-brace,
+       c-electric-semi&comma, c-electric-colon, c-electric-paren):
+       Check for last on line only for doing the auto-newline-mode
+       stuff, not for the reindentation.
+
+       * progmodes/cc-cmds.el (c-electric-brace): Fixed bugs in the
+       handling of c-syntactic-indentation: When it's nil, indent the
+       new lines but don't reindent the current one.  Reindent the
+       line only when the inserted brace comes first on it, instead
+       of last.
+
+       * progmodes/cc-cmds.el (c-electric-brace,
+       c-electric-semi&comma): Fixed two places where
+       c-syntactic-indentation wasn't heeded.
+
+       * progmodes/cc-cmds.el (c-electric-pound): Don't be electric
+       inside a macro.
+
+       * progmodes/cc-engine.el (c-backward-to-start-of-if): Try a
+       little harder to find a fallback position when an orphan else
+       is found.  Fixed case where an else following a do-while
+       statement could be associated with an if inside the do-while.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-guess-fill-prefix): Tuned the dwim
+       for the fallback to add a single space after the comment
+       prefix.
+
+       * progmodes/cc-cmds.el (c-indent-new-comment-line): Somewhat
+       better behavior in some special cases, especially for
+       single-line comments.  Avoid breaking up a comment starter or
+       ender.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-outline-level): Applied patch from
+       the Emacs sources to make this work in invisible text.
+
+       * progmodes/cc-langs.el (c-switch-label-key): Fixed regexp to
+       not be confused by a later ':' on the same line as the label.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el, progmodes/cc-mode.el
+       (c-electric-delete, c-electric-delete-forward): Split
+       `c-electric-delete' into two functions where
+       `c-electric-delete-forward' always deletes forward and
+       `c-electric-delete' only contains the code necessary for
+       XEmacs to choose between backward and forward deletion.
+       `c-electric-delete-forward' is now bound to C-d to get the
+       electric behavior on that key too.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-cmds.el (c-fill-paragraph): Fixed bogus direct
+       use of c-comment-prefix-regexp, which caused an error when
+       it's a list.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-mode.el, progmodes/cc-vars.el (c-common-init,
+       c-default-style): Removed the hardcoded switch to "java" style
+       in Java mode.  It's instead taken care of by the default value
+       for c-default-style.
+
+2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
+
+       * progmodes/cc-align.el (c-lineup-math): Fix bug where lineup
+       was triggered by equal signs in string literals.
+
+2002-04-21  Kim F. Storm  <storm@cua.dk>
+
+       * subr.el (insert-buffer-substring-no-properties): New function.
+       (insert-buffer-substring-as-yank): New function.
+
+2002-04-19  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * files.el (file-name-non-special): Don't mangle the 0'th arg and the
+       return value of file-name-completion and file-name-all-completions.
+
+2002-04-19  Glenn Morris <gmorris@ast.cam.ac.uk>
+
+       * progmodes/f90.el: Update maintainer.
+       (f90-line-continued): Recognize blank/comment lines embedded in
+       continuation lines.
+       (f90-looking-at-program-block-start): No extra indentation after
+       function or subroutine keyword appears in single quotes.
+
+2002-04-19  Miles Bader  <miles@gnu.org>
+
+       * custom.el (customize-mark-to-save, customize-mark-as-set)
+       (custom-quote): Moved here from `cus-edit.el'.
+       * cus-edit.el (customize-mark-to-save, customize-mark-as-set)
+       (custom-quote): Moved to `custom.el'.
+
+2002-04-18  Richard M. Stallman  <rms@gnu.org>
+
+       * facemenu.el (list-text-properties-at): Command deleted.
+
+       * rect.el (insert-rectangle): Use insert-for-yank.
+
+       * register.el (insert-register): Use insert-for-yank.
+       (describe-register-1): Discard text props in yank-excluded-properties.
+
+       * toolbar/tool-bar.el (tool-bar-local-item-from-menu):
+       Fix parts in construction of `menu-item' item at end.
+
+       * mail/mailabbrev.el (mail-mode-abbrev-table): Delete defvar.
+
+       * subr.el (insert-for-yank): New function.
+
+       * simple.el (yank-excluded-properties): New user option.
+       (yank-pop, yank): Use insert-for-yank.
+
+2002-04-19  Kim F. Storm  <storm@cua.dk>
+
+       * simple.el (pop-to-mark-command): Do not set this-command.
+       (set-mark-command): Always jump to mark when called with arg.
+
+2002-04-18  Francesco Potorti`  <pot@gnu.org>
+
+       * comint.el (comint-watch-for-password-prompt): Remove whitespace
+       at the beginning of password prompts.
+
+2002-04-18  Andrew Innes  <andrewi@gnu.org>
+
+       * facemenu.el: Remove require of wid-edit.
+
+2002-04-17  Colin Walters  <walters@verbum.org>
+
+       * ibuffer.el (ibuffer-visit-buffer): Optionally allow reducing to
+       one window.
+       (ibuffer-visit-buffer-1-window): Simply call `ibuffer-visit-buffer'.
+       (ibuffer-current-state-list): Reinstate optional argument; now
+       just call `point' inside the mapping function.
+
+2002-04-17  Francesco Potorti`  <pot@gnu.org>
+
+       * dired-aux.el (dired-star-subst-regexp)
+       (dired-quark-subst-regexp): New constants.
+       (dired-do-shell-command, dired-shell-stuff-it): Use them.
+       (dired-do-shell-command): Raise an error if both `*' and `?'
+       substitution marks are used in the same command.
+       (dired-shell-stuff-it): Substitute all instances of `*' and `?'
+       in a command given via dired-do-shell-command.
+
+       * comint.el (comint-password-prompt-regexp): Match "Repeat passphrase".
+
+2002-04-16  Jason Rumney  <jasonr@gnu.org>
+
+       * international/mule-cmds.el (locale-preferred-coding-systems):
+       Add "jpn".
+
+2002-04-16  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * term.el (term-emulate-terminal): Fix last change.
+
+2002-04-16  Pavel Jan\e,Am\e(Bk  <Pavel@Janik.cz>
 
        * bindings.el (mode-line-mode-menu): Update names to reflect
        latest changes.
        compilation error.
 
 2002-04-16  Michael Kifer  <kifer@cs.stonybrook.edu>
-       
+
        * viper-ex.el: Patch by Samuel Padgett. Copyright papers received.
        (viper-ex-print-buf-name): New variable.
        (viper-ex-print-buf): New variable.
        (ex-g-marks): New variable.
        (ex-print): New function.
        (ex-print-display-lines): New function.
-       
-       * viper.el (viper-set-hooks): add window-setup-hook, which sets
+
+       * viper.el (viper-set-hooks): Add window-setup-hook, which sets
        the cursor color.
-       
-       * ediff-util.el (ediff-cleanup-mess): delete ctl window on exit
+
+       * ediff-util.el (ediff-cleanup-mess): Delete ctl window on exit
        when the window is not in its own frame.
-       (ediff-clone-buffer-for-region-comparison): more robust window
+       (ediff-clone-buffer-for-region-comparison): More robust window
        arrangement while prompting for regions to compare.
-       (ediff-make-cloned-buffer): use generate-new-buffer-name.
-       (ediff-inferior-compare-regions): deleted unused vars
+       (ediff-make-cloned-buffer): Use generate-new-buffer-name.
+       (ediff-inferior-compare-regions): Deleted unused vars
        ctl-buf and quit-now.
-       
+
 2002-04-15  Richard M. Stallman  <rms@gnu.org>
 
        * facemenu.el (facemenu-add-new-face): Use this only for faces.
 
 2002-04-15  Eli Zaretskii  <eliz@is.elta.co.il>
 
-       * ediff-init.el (ediff-current-diff-face-A) 
-       (ediff-current-diff-face-B, ediff-current-diff-face-C) 
-       (ediff-current-diff-face-Ancestor, ediff-fine-diff-face-A) 
-       (ediff-fine-diff-face-B, ediff-fine-diff-face-C) 
-       (ediff-fine-diff-face-Ancestor, ediff-even-diff-face-A) 
-       (ediff-even-diff-face-B, ediff-even-diff-face-C) 
-       (ediff-even-diff-face-Ancestor, ediff-odd-diff-face-A) 
-       (ediff-odd-diff-face-B, ediff-odd-diff-face-C) 
+       * ediff-init.el (ediff-current-diff-face-A)
+       (ediff-current-diff-face-B, ediff-current-diff-face-C)
+       (ediff-current-diff-face-Ancestor, ediff-fine-diff-face-A)
+       (ediff-fine-diff-face-B, ediff-fine-diff-face-C)
+       (ediff-fine-diff-face-Ancestor, ediff-even-diff-face-A)
+       (ediff-even-diff-face-B, ediff-even-diff-face-C)
+       (ediff-even-diff-face-Ancestor, ediff-odd-diff-face-A)
+       (ediff-odd-diff-face-B, ediff-odd-diff-face-C)
        (ediff-odd-diff-face-Ancestor): Add special color definitions for
        tty and MS-DOS displays.
 
 
        * faces.el (highlight): Force foreground to be black on a tty, so
        this face is readable on a dark-background tty.
-       * wid-edit.el (widget-field-face, widget-single-line-field-face): 
+       * wid-edit.el (widget-field-face, widget-single-line-field-face):
        Likewise.
 
 2002-04-14  Kim F. Storm  <storm@cua.dk>
        Enhanced functionality when command is repeated:
        - If first command set the mark (no prefix arg), repeat temporarily
        enables transient-mark-mode.
-       - If first command jumped to mark off ring (with argument), 
+       - If first command jumped to mark off ring (with argument),
        repeat (with or without arg) jump to next mark off ring.
        - Use C-u C-u prefix to set mark after jump.
        (exchange-point-and-mark): Temporarily enable transient-mark-mode
        arguments; the other two were unused.
        (ibuffer-redisplay, ibuffer-update): Always skip special areas.
 
-       * ibuf-macs.el, ibuf-ext.el: Update callers of
-       `ibuffer-map-lines'.
+       * ibuf-macs.el, ibuf-ext.el: Update callers of `ibuffer-map-lines'.
 
        * calc/calc-bin.el (math-format-radix-float): Use `when'.
-       
+
        * calc/calc.el (math-format-number): Load `calc-ext' before we
        call `math-group-float'.
 
 2002-04-12  John Wiegley  <johnw@gnu.org>
 
        * eshell/esh-ext.el (eshell-script-interpreter): Fix for CRLF
-       operating systems to the regexp used to detect a script's
-       interpretor.
+       operating systems to the regexp used to detect a script's interpreter.
 
 2002-04-12  Eli Zaretskii  <eliz@is.elta.co.il>