+2001-03-22 Rajesh Vaidheeswarran <rv@gnu.org>
+
+ * whitespace.el: Add buffer local variables to toggle testing of
+ whitespaces in buffers without affecting the default values.
+
+ Added defuns (whitespace-toggle-ateol-check,
+ whitespace-toggle-leading-check, whitespace-toggle-trailing-check,
+ whitespace-toggle-indent-check and whitespace-toggle-spacetab-check)
+
+ Bump version to 3.0 to account for a few other changes.
+
+
+2001-03-21 Stefan Monnier <monnier@cs.yale.edu>
+
+ * obsolete/cplus-md.el: Moved from progmodes/cplus-md.el.
+
+2001-03-21 Gerd Moellmann <gerd@gnu.org>
+
+ * bs.el (bs-cycle-next, bs-cycle-previous): Fix handling of
+ bs-cycle-configuration-name. From Juanma Barranquero
+ <lektu@uol.com.br>.
+
+ * Makefile.in, makefile.w32-in (COMPILE_FIRST): Add cc-mode.el
+ and cc-vars.el.
+
+ * mail/sendmail.el (sendmail-send-it): Don't parse Resent-*
+ headers. Always invoke sendmail with option -t.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * Release of cc-mode 5.28.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-mode.el, 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.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-align.el (c-lineup-math): Fix bug where lineup was
+ triggered by equal signs in string literals.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-fill-paragraph): Fixed bug in the paragraph
+ limit detection when at the ends of the buffer.
+
+ * cc-engine.el (c-guess-basic-syntax): Removed bogus check for
+ "for" statement clause in case 7F; a better one is done
+ earlier in case 7D anyway.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-guess-fill-prefix): Improved the heuristics
+ somewhat more and did a small optimization.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-beginning-of-statement, c-end-of-statement):
+ Use the limit argument only to limit the syntactic context
+ search, not to limit the actual movement.
+
+ * cc-cmds.el (c-beginning-of-statement): Move by sentence
+ inside multiline strings, just like in comments. Also various
+ fixes to the paragraph and comment prefix recognition, block
+ comment ender handling etc.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-fill-paragraph): Take more care to preserve
+ the relative position of the point.
+
+ * cc-cmds.el (c-electric-continued-statement): New function to
+ use as abbrev hook to reindent for keywords such as "else"
+ that continues an earlier statement.
+
+ * cc-menus.el (cc-imenu-c++-generic-expression): Treat structs
+ like classes.
+
+ * cc-mode.el (c-mode, c++-mode, java-mode, objc-mode)
+ (pike-mode): Populate the default abbrev tables to reindent for
+ keywords such as "else" that can continue earlier statements.
+ Abbrev mode is therefore turned on by default now. (Note that
+ this doesn't apply to idl-mode, since IDL afaik doesn't have
+ statements at all.)
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-engine.el (c-inside-bracelist-p): Fix for handling
+ bracelists where the declaration contains template arguments.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-comment-indent):
+ Use `c-get-syntactic-indentation' to correctly calculate the
+ syntactic indentation. Fixes bug with lineup functions that
+ return vectors.
+
+ * cc-engine.el (c-get-syntactic-indentation): Split the
+ indentation sum calculation from `c-indent-line' to a separate
+ function.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-beginning-of-statement, c-comment-indent):
+ Fixed places where it was assumed that preprocessor directives
+ have to start in column zero.
+
+ * cc-engine.el (c-beginning-of-member-init-list): Handle C++
+ template arguments after a class identifier properly.
+
+ * cc-engine.el (c-guess-basic-syntax): Treat initializer brace
+ lists for `new Foo[]' constructs in Java as expressions and
+ not top level definition brace lists on the top level, so that
+ they'll get indented consistently with the same type of
+ expression in a normal block.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-fill-paragraph): The kludge that checks
+ whether the adaptive filling package fails to keep the comment
+ prefix is now kludged further to check for filladapt-mode
+ which doesn't have that problem. This is really icky, but it's
+ the only way that works with the current misfeatures/bugs in
+ both adaptive-fill-mode and filladapt-mode.
+
+ * cc-cmds.el (c-fill-paragraph): Made the way the paragraph
+ around point is recognized more robust.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el, cc-engine.el, cc-lobotomy.el (c-state-cache)
+ (c-in-literal-cache, c-auto-fill-prefix, c-lit-limits)
+ (c-lit-type): Fixed all internal variables used dynamically so
+ that they are always bound.
+
+ * cc-cmds.el, cc-engine.el: Improved recovery of syntactic
+ errors:
+
+ (c-indent-region): Fixed reporting of syntactic errors so that
+ the region is fully reindented even when an error occurs.
+ The last syntactic error is printed afterwards. Also cleanup up a
+ whole lot of code that tried to optimize indentation of whole
+ sexps but in reality accomplishes nothing.
+
+ (c-indent-sexp): Use c-indent-region.
+
+ (c-parsing-error): Changed this variable to hold the message
+ for any syntactic error that is discovered.
+
+ (c-parse-state): Search backward from point instead of the bod
+ position when the latter is invalid. This makes CC Mode
+ recover faster when there are unbalanced close braces.
+
+ (c-backward-to-start-of-if): Use c-parsing-error to report
+ dangling "else" clauses instead of throwing an error, and fall
+ back to a reasonable position.
+
+ (c-indent-line): Added argument to avoid reporting syntactic errors.
+
+ (c-show-syntactic-information): Don't report any syntactic errors.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-beginning-of-statement): Fixed bugs with
+ paragraph recognition when moving by sentence in literals.
+
+ * cc-langs.el (c-Java-javadoc-paragraph-start): Modified paragraph
+ start regexp for javadoc to recognize javadoc markup in general instead
+ of a specific set of keywords, to be more future-safe.
+
+ (c-Pike-pikedoc-paragraph-start)
+ (c-Pike-pikedoc-paragraph-separate): New regexps to recognize
+ pikedoc markup.
+
+ * cc-mode.el: Fixed initialization and use of c-current-comment-prefix.
+
+ (pike-mode): Initialize paragraph settings pikedoc recognition.
+
+ * cc-vars.el (c-default-style): Made a nicer Customize widget.
+
+ (c-comment-prefix-regexp): Made it possible to use an
+ association list on this to specify mode specific regexps.
+ The default value now use a special regexp in Pike mode to
+ recognize pikedoc markup.
+
+ (c-current-comment-prefix): New variable containing the actual
+ regexp from c-comment-prefix-regexp for the current buffer.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-electric-brace): Fixed check for special brace
+ lists: We can't look at the syntax, since a brace list can get
+ recognized as a plain statement-cont.
+
+ * cc-engine.el (c-guess-basic-syntax): Fixed bug where a
+ special brace list opener broken over two lines got recognized
+ as a statement on the second line. Case 9A changed.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-electric-brace): Fixed bug in c-state-cache
+ adjustment after line is reindented.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-defs.el (c-point): Added optional argument for position
+ to use instead of the current point.
+
+ * cc-defs.el, cc-engine.el (c-add-class-syntax): Do not add
+ the in-expression block symbols when the construct starts at
+ boi, to avoid the extra level of indentation in that case.
+ Cases 4, 16A and 17E affected.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el: Use `indent-according-to-mode' instead of direct
+ calls to `c-indent-line', to adhere better to Emacs conventions.
+
+ * cc-engine.el (c-indent-line): Use the syntax already bound
+ to `c-syntactic-context', if there is any.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-engine.el (c-get-offset): Fixed bug where the indentation
+ wasn't added up correctly when a lineup function returned nil.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-engine.el (c-collect-line-comments): Fixed bug where
+ empty lines were ignored when collecting line comments backwards.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-align.el (c-lineup-dont-change): Return an absolute
+ indentation column to work correctly in the case when several
+ syntactic elements are processed for the same line.
+
+ * cc-engine.el, cc-styles.el, cc-vars.el (c-evaluate-offset)
+ (c-get-offset, c-indent-line, c-valid-offset, c-read-offset)
+ (c-set-offset): Added absolute indentation column settings by
+ using the vector type.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el, cc-vars.el (c-electric-paren, c-cleanup-list):
+ Implemented two new cleanups `space-before-funcall' and
+ `compact-empty-funcall'.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-defs.el (c-paren-re, c-identifier-re): Two new macros for
+ helping building regexps.
+
+ * cc-engine.el (c-on-identifier): New function for detecting
+ identifiers. It takes keywords into account.
+
+ * cc-langs.el, cc-mode.el: Added regexps for complete keyword
+ lists. `c-keywords' is set to a regexp matching all keywords
+ in the current language.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-engine.el (c-beginning-of-statement-1): Added '#' to the
+ list of characters to skip backwards over at the beginning of
+ a statement, since it can precede string literals in Pike.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-guess-fill-prefix): Fixed bug with prefix
+ recognition when standing on the last line in a C++ comment
+ with nothing but whitespace after the prefix.
+
+ * cc-engine.el (c-backward-to-start-of-if): Fixed bug when
+ given no limit argument.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-engine.el (c-inside-bracelist-p): Fixed brace list
+ recognition for the `[]= operator symbol in Pike.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-bytecomp.el (cc-eval-when-compile): New macro that works
+ around a bug in `eval-when-compile' in the byte compiler.
+
+ * cc-engine.el (c-forward-token-1): Fixed bug with return
+ value when count is zero and there's no token start within the limit.
+
+ (c-guess-basic-syntax): Don't add 'comment-intro to lines with
+ "prefix comments", i.e. comments which are followed by code on
+ the same line.
+
+ * cc-mode-19.el: Fixes so that checks that must be done at
+ compile time also are done then.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-defs.el: Make sure cc-mode-19 is loaded both at compile
+ time and at runtime, and only when it's needed.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ Major cleanup for less error prone and more warning free
+ compilation, including some fixes for bugs due to different
+ compilation orders. Thanks to Martin Buchholz for providing
+ the basis for all this.
+
+ * cc-bytecomp.el: New file that provides some byte compilation
+ features: It ensures that files always are loaded from the
+ current source directory during compilation, and it provides a
+ set of macros to turn off specific compiler warnings for
+ specific symbols. (It's not CC Mode specific in any way.)
+
+ Fixed a nearly acyclic dependency tree (both runtime and
+ compile-time) between all files.
+
+ * cc-defs.el: Separated all macros before the inline functions,
+ to ensure correct compilation.
+
+ * cc-defs.el, cc-engine.el: Moved c-beginning-of-macro to from
+ cc-defs.el to cc-engine.el and made it a function instead.
+
+ * cc-mode-19.el: Patch the byte compiler in Emacs 19 not to warn
+ about char-after.
+
+ * cc-vars.el: Cope even when there isn't a custom package
+ containing defcustom available.
+
+ * cc-make.el: Removed since it's no longer necessary.
+
+ README: Updated installation instructions.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el, cc-langs.el, cc-mode.el: Moved around things to
+ improve the modularity: Moved all mode init stuff from
+ cc-langs.el to cc-mode.el, including the keymap
+ initialization; cc-langs now only contains the various
+ variables for configuring the language syntax.
+
+ * cc-engine.el, cc-styles.el (c-evaluate-offset)
+ (c-get-offset): Moved from cc-styles to cc-engine since file
+ dependency analysis suggests they belong there (which also
+ makes more sense). Thanks to Martin Buchholz for doing the analysis.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-fn-region-is-active-p): New function that
+ wraps the corresponding macro, for use in places that aren't
+ compiled. Thanks to Martin Buchholz for pointing out this.
+
+ * cc-langs.el (c-mode-menu): Use c-fn-region-is-active-p.
+
+ * cc-mode.el (c-prepare-bug-report-hooks): Hook variable to
+ add things to the bug report.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-guess-fill-prefix): Fixed bug where the
+ returned prefix could contain a newline when the search for a
+ good prefix line failed.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-cmds.el (c-toggle-auto-state, c-toggle-hungry-state)
+ (c-toggle-auto-hungry-state): Made the argument optional, as
+ the documentation says it is.
+
+2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
+
+ * cc-engine.el (c-guess-basic-syntax): Don't treat the Pike
+ multiline string syntax, #"...", as a cpp macro.
+
+2001-03-21 Paul Eggert <eggert@twinsun.com>
+
+ * international/mule-cmds.el (set-locale-environment):
+ Set system-messages-locale and system-time-locale, but only if the
+ caller specifies a non-nil locale name.
+
+2001-03-20 John Wiegley <johnw@gnu.org>
+
+ * calendar/calendar.el (nongregorian-diary-listing-hook):
+ Added :options to cover the possible values.
+ (nongregorian-diary-marking-hook): Ditto.
+
+ * cal-bahai.el, cal-menu.el, calendar.el, diary-lib.el,
+ * holidays.el: Added support for the Baha'i calendar system.
+
+ * pcvs-util.el (cvs-bury-buffer): Bodiless `if' statements cause
+ problems for the interpreter.
+
+2001-03-20 Gerd Moellmann <gerd@gnu.org>
+
+ * follow.el (follow-avoid-tail-recenter): Doc fix.
+
+ * custom.el (custom-set-variables): Avoid reversing the list
+ of args needlessly.
+
+ * startup.el (fancy-splash-head): Don't change the colors of the
+ XPM image on a dark background.
+
+ * comint.el (comint-exec-1): Set columns of the terminal to
+ window-width instead of frame-width.
+
+ * info.el (Info-scroll-down): Add missing WINDOW arg for
+ pos-visible-in-window-p.
+
+ * ehelp.el (electric-help-mode-hook): Add defcustom.
+
+ * mail/sendmail.el (mail-mode): Activate case-folding in
+ font-lock-defaults.
+
+2001-03-19 Stefan Monnier <monnier@cs.yale.edu>
+
+ * bindings.el (mode-line-mode-menu): `glasses-mode' might be unbound.
+ (completion-ignored-extensions): Remove duplicate ".class".
+
+2001-03-19 Andreas Schwab <schwab@suse.de>
+
+ * textmodes/reftex-dcr.el (reftex-view-crossref): Doc fix.
+ From Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>.
+
+2001-03-19 Gerd Moellmann <gerd@gnu.org>
+
+ * language/european.el ("Latin-5", "Latin-4"): Use postfix input
+ methods since there are not prefix input methods.
+
+2001-03-19 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule-cmds.el (read-input-method-name):
+ Locally bind enable-recursive-minibuffers to t.
+
+2001-03-18 Stefan Monnier <monnier@cs.yale.edu>
+
+ * emacs-lisp/lmenu.el (add-menu): Re-added (was erroneously removed).
+
+2001-03-17 Michael Kifer <kifer@cs.sunysb.edu>
+
+ * ediff-util.el: Copyright years.
+ (ediff-choose-syntax-table): New function.
+ (ediff-setup): Use ediff-choose-syntax-table.
+
+ * ediff-init.el (ediff-with-syntax-table): New macro, uses
+ with-syntax-table.
+
+ * ediff.el: Date of last update, copyright years.
+
+ * ediff-wind (ediff-setup-control-frame): Nill->nil.
+
+ * viper-ex.el (ex-token-list,ex-cmd-execute): Revamped, courtesy
+ of Scott Bronson.
+ (ex-cmd-assoc,ex-cmd-one-letr): New functions.
+ (viper-check-sub,viper-get-ex-command,viper-execute-ex-command):
+ Deleted functions.
+ (viper-get-ex-com-subr,viper-ex,ex-mark): Changed to use the new
+ ex-token-list.
+
+ * viper-util.el: Spaces, indentation.
+
+ * viper.el: Changed version, modification time.
+
+2001-03-16 John Wiegley <johnw@gnu.org>
+
+ * calendar/timeclock.el (timeclock-workday-remaining):
+ Check whether `discrep' is non-null before using it.
+
+2001-03-16 John Wiegley <johnw@gnu.org>
+
+ * calendar/timeclock.el (timeclock-reread-log): Fixed problem with
+ first-time checkins.
+ (timeclock-log-data): Fixed problem with reading timelog log file.
+ Resulting data in the "day list" was incorrect.
+ (timeclock-find-discrep): Check if `timeclock-file' is readable
+ before opening it.
+ (timeclock-time-less-p): New function.
+ (timeclock-day-base): New function.
+ (timeclock-geometric-mean): New function.
+ (timeclock-generate-report): Generate a summary report based on
+ the contents of the log file. This uses `timeclock-log-data', and
+ is an example of writing a timelog manipulation function.
+ (timeclock-visit-timelog): A quick command for opening the timelog
+ file.
+ (timeclock-log-data): Bound the variable event.
+
+2001-03-16 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule-cmds.el (select-safe-coding-system):
+ Fix typo: symbol-name -> symbol-value.
+
+ * mail/rmail.el (rmail-insert-inbox-text): Call expand-file-name
+ before substitute-in-file-name to handle double slashes in FILE
+ correctly.
+
+2001-03-15 Gerd Moellmann <gerd@gnu.org>
+
+ * textmodes/ispell.el (ispell-dictionary-alist-6): Add support
+ for Slovak. From Pavel.Janik@suse.cz (Pavel Jan\e,Bm\e(Bk ml.).
+
+2001-03-14 Gerd Moellmann <gerd@gnu.org>
+
+ * bindings.el (features): Add `md5' and `overlay' to the list.
+
+ * scroll-bar.el (toplevel): Test if `x-toolkit-scroll-bars' is
+ bound before using it. It's not bound when configured without X,
+ for instance.
+
+2001-03-13 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * progmodes/hideshow.el: Update copyright.
+ (hs-minor-mode-map): Change bindings to use `C-c @' prefix.
+ (hs-minor-mode-hook): Include `:version' in defcustom form.
+
+2001-03-13 Gerd Moellmann <gerd@gnu.org>
+
+ * help.el (string-key-binding): Don't call event-start on
+ a non-list.
+
+2001-03-13 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * startup.el (fancy-splash-tail, command-line-1): Fix the
+ copyright year.
+
+2001-03-13 Kenichi Handa <handa@etl.go.jp>
+
+ * term.el: These changes are based on a patch sent from Yong Lu
+ <lyongu@yahoo.com>.
+ (term-set-escape-char): Bind M-x to execute-extended-command in
+ term-raw-escape-map.
+ (term-move-columns): Don't try to move to negagive column.
+ (term-emulate-terminal): Insert a string before deleting a text to
+ overwrite.
+
+2001-03-12 Gerd Moellmann <gerd@gnu.org>
+
+ * play/life.el (life): Rearrange code so that all calls to
+ life-display-generation are in a catch-form.
+
+ * progmodes/etags.el (tags-loop-continue): Don't change point in a
+ file that isn't interesting. In an interesting file, push the old
+ value of point on the mark ring.
+
+ * mail/rmailsum.el (rmail-summary-override-mail-send-and-exit):
+ New function.
+ (rmail-summary-mail, rmail-summary-reply, rmail-summary-forward):
+ Use it.
+
+ * emacs-lisp/autoload.el (generate-file-autoloads):
+ Remove warning about line lengths.
+
+2001-03-12 Philippe Waroquiers <wao@gull.tact.cfmu.eurocontrol.be>
+
+ * progmodes/etags.el (tags-compression-info-list): New variable.
+ (find-tag-in-order): Use it to deal with compressed source files.
+ (tag-file-name-match-p): New function.
+ (etags-recognize-tags-table): Use it for better match of file names.
+
+2001-03-12 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule-cmds.el (register-input-method): Doc fix.
+
+ * international/quail.el (quail-translate-key): Fix condition to
+ check if there's another breaking point in the current key.
+