From: Miles Bader Date: Thu, 18 Oct 2007 21:07:49 +0000 (+0000) Subject: Merge from emacs--rel--22 X-Git-Tag: emacs-pretest-23.0.90~10236 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5a95db215e07e2f80af6238a0f92b5d6823a7e0b;p=emacs.git Merge from emacs--rel--22 Patches applied: * emacs--rel--22 (patch 125-127) - Update from CVS Revision: emacs@sv.gnu.org/emacs--devo--0--patch-896 --- 5a95db215e07e2f80af6238a0f92b5d6823a7e0b diff --cc doc/emacs/ChangeLog index 6fc359fed59,00000000000..68c150a67c9 mode 100644,000000..100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@@ -1,5002 -1,0 +1,5006 @@@ ++2007-10-18 Martin Rudalics ++ ++ * trouble.texi (Quitting): Fix typo. ++ +2007-10-18 Glenn Morris + + * frames.texi (Mode Line Mouse): Mention minor mode names. + +2007-10-17 Juri Linkov + + * text.texi (Fill Commands): Undocument fill-paragraph-or-region. + fill-paragraph operates on the active region in Transient Mark mode. + (Fill Prefix, Format Indentation): Replace fill-paragraph-or-region + with fill-paragraph. + + * basic.texi (Arguments): Replace fill-paragraph-or-region with + fill-paragraph. + + * fixit.texi (Spelling): ispell-word operates on the active region + in Transient Mark mode. + +2007-10-17 Aaron S. Hawley + + * building.texi (Source Buffers): + * custom.texi (Init Non-ASCII): + * glossary.texi (Glossary): Use "key binding" consistently. + +2007-10-17 Juanma Barranquero + + * calendar.texi (Diary): Fix directive. + +2007-10-16 Richard Stallman + + * calendar.texi (Diary): Clarify text about diary file example. + +2007-10-13 Eric S. Raymond + + * files.texi: Capitalize node names according to convention. + +2007-10-13 Glenn Morris + + * misc.texi (Interactive Shell): Correct INSIDE_EMACS reference. + +2007-10-11 Eric S. Raymond + + * emacs.texi: + * files.texi (Version Systems): Minor fixes to version-control material + suggested by RMS and Robert J. Chassell. + +2007-10-10 Eric S. Raymond + + * files.texi (Version Systems): + * vc-xtra.texi: + * vc1-xtra.texi: + * vc2-xtra.texi: Merge in changes for new VC with fileset-oriented + operations. Change of terminology from `version' to `revision'. + Revise text for adequate description of VCSes with monotonic IDs. + * emacs.texi: Change of terminology from `version' to `revision'. + +2007-10-09 Eric S. Raymond + + * files.texi (Version Systems): Describe newer VCses. + Reorder the descriptions to be chronological. + +2007-10-09 Richard Stallman + + * display.texi (Cursor Display): Correct how cursor appears + in nonselected windows. + +2007-10-04 Nick Roberts + + * building.texi (GDB Graphical Interface): Remove references to gdba + and mention gud-gdb. + +2007-08-31 Eli Zaretskii + + * rmail.texi (Rmail Sorting): Improve indexing. + +2007-10-06 Juri Linkov + + * text.texi (Fill Commands): Document fill-paragraph-or-region. + (Fill Prefix, Format Indentation): Replace fill-paragraph with + fill-paragraph-or-region. + + * basic.texi (Arguments): Replace fill-paragraph with + fill-paragraph-or-region. + +2007-10-06 Eric S. Raymond + + * files.texi: Update the section on version control for 2007 + conditions. None of these changes are new-VC-specific; that + will come later. + +2007-09-15 Glenn Morris + + * calendar.texi (Holidays): Change all instances of `holiday-list' back + to `list-holidays'. + +2007-09-14 Glenn Morris + + * calendar.texi: Update all instances of mark-calendar-holidays, + list-calendar-holidays, list-holidays with the new names. + +2007-09-06 Glenn Morris + + * Move manual sources from man/ to subdirectories of doc/. + Split into the Emacs manual in emacs/, and other manuals in misc/. + * Makefile.in (INFO_TARGETS, DVI_TARGETS): Reduce to just the Emacs + manual. + (infodir): New variable. + (info): Use $infodir. + (emacsman): Delete target, not needed any more. + Move all targets that are not the Emacs manual to misc/Makefile.in. + (mostlyclean): Remove `gnustmp'. + * makefile.w32-in (INFO_TARGETS, DVI_TARGETS): Reduce to just the Emacs + manual. + (MULTI_INSTALL_INFO, ENVADD, infodir): Go up one more level. + (emacsman): Delete target, not needed any more. + (clean): Remove all info files but Emacs manual. + Move all targets that are not the Emacs manual to misc/Makefile.in. + * emacs-xtra.texi, emacs.texi (setfilename): Go up one more level. + + * Makefile.in (INFOSOURCES): Delete. + (.SUFFIXES): Use $(TEXI2DVI) rather than texi2dvi. + (mostlyclean): Add *.op, *.ops. Move *.aux *.cps *.fns *.kys *.pgs + *.vrs *.toc here... + (maintainer-clean): ...from here. + +2007-09-05 Glenn Morris + + * custom.texi (Safe File Variables): Clarify `!' and risky variables. + +2007-08-29 Glenn Morris + + * emacs.texi (EMACSVER): Increase to 23.0.50. + +2007-08-27 Richard Stallman + + * emacs.texi (Top): Clarify menu item for Glossary. + + * display.texi (Faces): Change secn title. + Clarify not all fonts come from Font Lock. + +2007-08-17 Eli Zaretskii + + * basic.texi (Position Info): Add index entry for face at point. + Mention that character faces are also displayed by "C-u C-x =". + +2007-08-08 Glenn Morris + + * glossary.texi (Glossary): Deprecate `iff'. + +2007-08-07 Chong Yidong + + * files.texi (File Conveniences): Document point motion keys in Image + mode. + +2007-07-27 Glenn Morris + + * emacs.texi (Copying): Include license text from gpl.texi, rather than + in-line. + + * gpl.texi: New file with text of GPL. + * Makefile.in (EMACSSOURCES): Add gpl.texi. + +2007-07-26 Dan Nicolaescu + + * vc2-xtra.texi (Customizing VC): Add GIT and HG. + + * dired.texi (Wdired): Mention C-x C-q key binding. + +2007-07-28 Nick Roberts + + * building.texi (GDB Graphical Interface): Qualify use of "M-x gdba". + +2007-07-25 Glenn Morris + + * emacs.texi (Copying): Replace license with GPLv3. + + * Relicense all FSF files to GPLv3 or later. + +2007-07-24 Glenn Morris + + * calendar.texi (Writing Calendar Files): cal-tex-diary etc only work + for some calendars. + +2007-07-23 Nick Roberts + + * screen.texi (Mode Line): Describe new mode-line flag that shows if + default-directory for the current buffer is on a remote machine. + +2007-07-21 Eli Zaretskii + + * vc2-xtra.texi (Customizing VC) : Update the + default value. + +2007-07-21 Richard Stallman + + * files.texi (Why Version Control?): Improve previous change. + +2007-07-18 Eric S. Raymond + + * files.texi (Why Version Control?): New node. + +2007-07-12 Nick Roberts + + * building.texi (Starting GUD): Add xref to this anchor. + +2007-06-24 Karl Berry + + * emacs.texi: New Back-Cover Text. + +2007-06-07 Alan Mackenzie + + * display.texi (Optional Mode Line): Document the new form of + line+column numbers, "(561,2)". + +2007-06-06 Juanma Barranquero + + * maintaining.texi (Create Tags Table): Fix typos. + +2007-06-02 Chong Yidong + + * Version 22.1 released. + +2007-05-07 Karl Berry + + * emacs.texi (EMACSVER): Back to 22. + +2007-05-06 Richard Stallman + + * maintaining.texi (Create Tags Table): Clean up previous change. + +2007-05-05 Francesco Potort,Al(B + + * maintaining.texi (Create Tags Table): Add text about the dangers of + making symbolic links to tags files. + +2007-05-04 Karl Berry + + * emacs.texi (EMACSVER) [smallbook]: 22.1 for printed version, not 22. + +2007-05-03 Karl Berry + + * emacs.texi (EMACSVER) [smallbook]: 22 for printed version. + + * .cvsignore (*.pdf): New entry. + + * emacs.texi (\urlcolor, \linkcolor) [smallbook]: \let to \Black + for printing. + +2007-05-01 Richard Stallman + + * cmdargs.texi (Initial Options): Under --batch, mention --eval. + +2007-04-28 Glenn Morris + + * ack.texi (Acknowledgments): + * anti.texi (Antinews): + * programs.texi (Program Modes): Restore mention of python.el pending + consideration of legal status. + +2007-04-28 Richard Stallman + + * files.texi (File Names): Fixes to ~ description on MS systems. + +2007-04-26 Glenn Morris + + * emacs.texi (EMACSVER): Increase to 22.1.50. + +2007-04-25 Karl Berry + + * emacs.texi: Improve line breaks on copyright page, + similar layout to lispref, 8.5x11 by default. + + * dired.texi (Image-Dired): Improve line break, fix typo. + +2007-04-24 Chong Yidong + + * programs.texi (Program Modes): + * anti.texi (Antinews): + * ack.texi (Acknowledgments): python.el removed. + +2007-04-23 Chong Yidong + + * display.texi (Highlight Interactively): Correct description of + hi-lock-file-patterns-policy. + + * files.texi (File Archives): Mention self-extracting executables. + +2007-04-23 Eli Zaretskii + + * search.texi (Unconditional Replace, Query Replace): Add xref to + "Replacement and Case". + +2007-04-22 Chong Yidong + + * dired.texi (Image-Dired): Move from Thumbnails node. + * misc.texi (Thumbnails): Node deleted. + * emacs.texi (Top): Update node listing. + + * files.texi (File Conveniences): + * ack.texi (Acknowledgments): Rename "tumme" to "image-dired". + +2007-04-21 Richard Stallman + + * display.texi (Highlight Interactively): Correct previous change. + Clarify doc of hi-lock-find-patterns, and move new features into it. + +2007-04-20 David Koppelman + + * display.texi (Highlight Interactively): Document + hi-lock-file-patterns-policy. + +2007-04-20 Martin Rudalics + + * display.texi (Scrolling): Fix typo. + +2007-04-15 Chong Yidong + + * doclicense.texi: Remove node heading, so that it can be included by + other files. + + * emacs.texi: Insert node heading for GFDL. + +2007-04-14 Eli Zaretskii + + * cmdargs.texi (Colors): Qualify "color of window" index entry by + "command line". + + * display.texi (Faces): Refer to "Creating Frames" for face + and other frame customizations in .emacs. + + * frames.texi (Creating Frames): Mention that face customizations can + be put in .emacs. Add index entries. + +2007-04-12 Richard Stallman + + * glossary.texi (Glossary): Explain `iff'. + +2007-04-11 Karl Berry + + * gnu.texi (Top), + * macos.texi (Mac Font Specs), + * anti.texi (Antinews), + * xresources.texi (Resources), + * misc.texi (Emulation), + * calendar.texi (Daylight Saving), + * dired.texi (Dired and Find), + * rmail.texi (Remote Mailboxes), + * sending.texi (Mail Headers), + * programs.texi (Which Function), + * files.texi (Recover), + * buffers.texi (Uniquify), + * frames.texi (Wheeled Mice), + * killing.texi (Rectangles): Wording to improve breaks in + 8.5x11 format. + * mule.texi (Language Environments): \hbadness=10000 since there's + no way to reword. + * emacs.texi (smallbook): New @set to more easily switch between + smallbook and 8.5x11. + +2007-04-11 Richard Stallman + + * files.texi (File Conveniences): Add xref to Tumme. + Delete text about Thumbnail mode. + +2007-04-09 Alan Mackenzie + + * cmdargs.texi (Initial Options): Call "inhibit-splash-screen" by its + new name. Insert concept index entries. + +2007-04-08 Chong Yidong + + * display.texi (Standard Faces): Document prefix arg for + list-faces-display. + + * rmail.texi (Rmail Scrolling): Document rmail-end-of-message. + +2007-04-07 Chong Yidong + + * killing.texi (Deletion): Rewrite description of M-\ prefix argument. + + * files.texi (Misc File Ops): Rewrite description of + insert-file-literally. + +2007-03-31 Eli Zaretskii + + * misc.texi (Printing): Postscript -> PostScript. + + * ack.texi (Acknowledgments): Postscript -> PostScript. + + * custom.texi (Init File, Init Non-ASCII): Fix last change. + + * emacs.texi (Top): Fix the menu due to the change in custom.texi + below. + +2007-03-30 Chong Yidong + + * custom.texi (Non-ASCII Rebinding): Node deleted. Material moved to + Init Non-ASCII. + (Init Rebinding, Init Syntax): Link to Init Non-ASCII instead. + (Init Non-ASCII): New node. + +2007-03-28 YAMAMOTO Mitsuharu + + * macos.texi (Mac Font Specs): Mention AppleAntiAliasingThreshold. + +2007-03-12 Glenn Morris + + * calendar.texi, emacs.texi (Daylight Saving): Rename node from + "Daylight Savings". + + * calendar.texi: Replace "daylight savings" with "daylight + saving" in text throughout. + +2007-03-04 Richard Stallman + + * custom.texi (Safe File Variables): Minor correction. + +2007-02-28 Thien-Thi Nguyen + + * rmail.texi (Movemail): Add internal ref. + Don't indent the intro for the PROTO table. + Format PROTO table items with @code. + +2007-02-26 Nick Roberts + + * building.texi: Remove references to bashdb. + +2007-02-19 Juanma Barranquero + + * mule.texi (Language Environments): Update list of supported language + environments. + +2007-02-14 Kim F. Storm + + * building.texi (Grep Searching): Fix lgrep doc. + +2007-02-12 Chong Yidong + + * back.texi: Remove unused file. + +2007-02-05 Francesco Potort,Al(B + + * maintaining.texi (Tag Syntax): Now --members is the default for + etags, not for ctags yet. + +2007-02-03 Eli Zaretskii + + * emacs.texi (Top): Update the top-level menus. Make the detailed menu + headers compliant with Texinfo guidelines and with what texnfo-upd.el + expects. Add comments to prevent people from inadvertently modifying + the key parts needed by `texinfo-multiple-files-update'. + +2007-01-29 Chong Yidong + + * frames.texi (Secondary Selection): Window clicked does not matter + when mouse-yank-at-point is non-nil. + +2007-01-16 Glenn Morris + + * abbrevs.texi (Editing Abbrevs): Describe how to disable a + system abbrev. + +2007-01-11 Richard Stallman + + * msdog.texi (Windows Keyboard): Another small cleanup. + +2007-01-10 Richard Stallman + + * msdog.texi (Windows Keyboard): Yet another try to make + everyone happy with that passage. + +2007-01-05 Richard Stallman + + * anti.texi (Antinews): Mention M-x shell scrolling. + +2007-01-05 Nick Roberts + + * building.texi (Watch Expressions): Describe gdb-max-children. + +2007-01-04 Richard Stallman + + * msdog.texi (Windows Keyboard): Clarify previous change. + +2007-01-02 Richard Stallman + + * custom.texi (Changing a Variable): Minor clarification. + (Specific Customization): customize-customized => customize-unsaved. + + * entering.texi (Entering Emacs): Clean up text about restarting + Emacs for each file. + + * misc.texi (Shell Options): Minor cleanup. + + * msdog.texi (Windows Keyboard): Explain that Windows was incompatible + with Emacs, not vice versa. + + * programs.texi (Symbol Completion): Recommend customizing + window manager. + + * xresources.texi (Resources): Minor fix. + +2007-01-01 Jan Dj,Ad(Brv + + * xresources.texi (Table of Resources): Add scrollBarWidth resource. + +2007-01-01 Richard Stallman + + * commands.texi (User Input): Document keys stolen by window mangers. + +2006-12-31 Richard Stallman + + * custom.texi (Specific Customization): Document customize-option + instead of customize-variable. + +2006-12-31 Kim F. Storm + + * major.texi (Choosing Modes): Document auto-mode-case-fold. + +2006-12-30 Kim F. Storm + + * killing.texi (CUA Bindings): Fix typo. + + * xresources.texi (Table of Resources): Mention grow-only value for + auto-resize-tool-bars. + +2006-12-27 Eli Zaretskii + + * msdog.texi (Windows Keyboard): Mention widespread Windows bindings, + and how to get them back. + +2006-12-26 Richard Stallman + + * calendar.texi (Holidays): Holiday listing is based on current + practice, but DST is not. + +2006-12-25 Richard Stallman + + * emacs.texi (Top): Update subnode menus. + + * mark.texi (Transient Mark): Fix xref. + + * killing.texi (Graphical Kill): Node deleted. + (Killing): Add xref to Cut and Paste. + (CUA Bindings): Update xref. + + * frames.texi (Cut and Paste): New section to hold other nodes. + (Mouse Commands): Node demoted. + (Cut/Paste Other App): Split out from Mouse Commands. + (Word and Line Mouse): Likewise. + (Secondary Selection, Clipboard): Nodes demoted. + +2006-12-24 Kevin Ryde + + * calendar.texi (Holidays): US daylight saving begins second Sunday + in March for 2007 onwards. + (Daylight Savings): Show new US default daylight saving rules, 2nd + Sun in Mar to 1st Sun in Nov, now in cal-dst.el. + +2006-12-23 Chong Yidong + + * calendar.texi (Scroll Calendar): < and > are switched. + +2006-12-23 Kevin Rodgers + + * killing.texi (Deletion): Describe M-\ prefix argument. + +2006-12-23 Richard Stallman + + * search.texi (Regexp Search): Explain why forward and reverse regexp + search are not mirror images. + +2006-12-19 Kim F. Storm + + * major.texi (Choosing Modes): Describe match-function elements for + magic-mode-alist. + +2006-12-18 Eli Zaretskii + + * msdog.texi (Windows Keyboard): Add a footnote about "Windows" keys + peculiarities. + +2006-12-18 Richard Stallman + + * abbrevs.texi (Editing Abbrevs): Fix previous change. + +2006-12-17 Alan Mackenzie + + * programs.texi (Left Margin Paren): Remove the bit which says + that CC Mode sets open-paren-in-column-0-is-defun-start to nil. + Discuss some of the issues of setting this option to nil. + +2006-12-17 Glenn Morris + + * abbrevs.texi (Editing Abbrevs): Mention system abbrevs. + +2006-12-16 Eli Zaretskii + + * msdog.texi (Windows Keyboard): Clarify `w32-recognize-altgr' effect. + (Windows Files): `w32-get-true-file-attributes' is only relevant for + NTFS volumes. + (ls in Lisp): `links' in `ls-lisp-verbosity' is only relevant to NTFS + volumes. + +2006-12-15 Eli Zaretskii + + * text.texi (HTML Mode): Fix "C-c TAB". + +2006-12-09 Richard Stallman + + * misc.texi (Invoking emacsclient): Simplify TCP file text. + +2006-12-08 Kevin Rodgers + + * files.texi (Misc File Ops): Document insert-file-literally. + +2006-12-08 Eli Zaretskii + + * cmdargs.texi (Colors): Note that --color is intended for overriding + the terminal defaults, not for normal invocation. + + * misc.texi (Emacs Server): Improve wording. Don't mention the + ``server program''. Add a cross-reference to "Init File" node. + (Invoking emacsclient): Add index entries. Document both short and + long versions of command-line options. Document the -f option. + +2006-12-06 Richard Stallman + + * text.texi (Outline Format): Say to set outline-regexp + and outline-level with major modes and file local variables. + +2006-12-05 Micha,Ak(Bl Cadilhac + + * anti.texi (Antinews): Mention the alternative to + `~/.emacs_SHELLNAME', which is `~/.emacs.d/init_SHELLNAME.sh'. + + * misc.texi (Interactive Shell): Ditto. + +2006-12-04 Eli Zaretskii + + * emacs.texi (Acknowledgments): Fix Arne J@o{}rgensen's name. + + * ack.texi (Acknowledgments): Fix Arne J@o{}rgensen's name. + +2006-12-01 Eli Zaretskii + + * mule.texi (Enabling Multibyte): Rephrase the confusing reference to a + colon in the mode line. + + * msdog.texi (Windows Processes) [@ifnottex]: Mention w32-shell-execute. + +2006-11-26 Nick Roberts + + * building.texi (Watch Expressions): Mention SPC for expanding/ + contracting watch expressions. + +2006-11-26 Kim F. Storm + + * kmacro.texi (Basic Keyboard Macro): Mention F3/F4 more. + +2006-11-26 Nick Roberts + + * building.texi (Debugger Operation): Define text command mode. + Clarify how tooltips work. + (GDB Graphical Interface): Explain how to run in text command mode + more clearly. + +2006-11-25 Juanma Barranquero + + * mule.texi (Defining Fontsets): Fix use of `charset' and `font'. + +2006-11-22 Juanma Barranquero + + * anti.texi (Antinews): Mention --server-file and TCP sockets. + +2006-11-18 Chong Yidong + + * misc.texi (Interactive Shell): INSIDE_EMACS is set to t, + and EMACS is deprecated. + +2006-11-18 Juanma Barranquero + + * makefile.w32-in (emacs.dvi): Remove xresmini.texi. + +2006-11-18 Jan Dj,Ad(Brv + + * Makefile.in (emacs.dvi): Remove xresmini.texi. + + * emacs.texi: Include xresources.texi both for info and dvi. + + * xresources.texi: Merge text from xresmini.texi. + +2006-11-12 Roberto Rodr,Am(Bguez (tiny change) + + * glossary.texi: Fix typos. + +2006-11-06 Richard Stallman + + * emacs.texi (Acknowledgments): Fix name spelling, add Anna Bigatti. + + * ack.texi (Acknowledgments): Fix name spelling. + +2006-11-01 Juri Linkov + + * search.texi (Word Search): Document incremental word search. + +2006-10-28 Glenn Morris + + * ack.texi (Acknowledgments): Add cal-html author. + + * calendar.texi (Writing Calendar Files): Rename section (was "LaTeX + Calendar"). Describe new package cal-html. + * emacs.texi (Top): Rename old node "LaTeX Calendar" to "Writing + Calendar Files." + +2006-10-23 Richard Stallman + + * abbrevs.texi (Expanding Abbrevs): Expansion happens only when + Abbrev mode is enabled. + +2006-10-16 Richard Stallman + + * emacs.texi: Update ISBN. + +2006-10-11 Kim F. Storm + + * emacs.texi (Acknowledgments): Use @dotless{i}. + +2006-10-08 Nick Roberts + + * building.texi (Breakpoints Buffer): Mention catchpoints. + +2006-10-08 Kim F. Storm + + * ack.texi (Acknowledgments): Update. + + * emacs.texi (Acknowledgments): Fix bad @/ form. + +2006-10-05 Kim F. Storm + + * emacs.texi (Acknowledgments): Add more contributors. + +2006-10-03 Richard Stallman + + * emacs.texi (Acknowledgments): Update version and edition. + +2006-10-01 Karl Berry + + * custom.texi (Customization Groups): Page break to keep example buffer + on one page. + +2006-09-30 Karl Berry + + * programs.texi (Basic Indent): @need to improve page break. + * text.texi: Rewording to improve page breaks, and use @LaTeX{}. + +2006-09-29 Glenn Morris + + * calendar.texi (Date Formats): Doc fix for european-calendar-style. + +2006-09-29 Karl Berry + + * windows.texi (Basic Window): Remove forced @break, no longer + desirable. + * frames.texi (Frame Commands), + * mark.texi (Marking Objects): Reword to avoid bad page break. + * display.texi (Auto Scrolling): Use @tie{} to avoid bad line break. + +2006-09-19 Richard Stallman + + * frames.texi (Dialog Boxes): Clean up wording: avoid passive, + stick to present tense. + +2006-09-18 Jan Dj,Ad(Brv + + * frames.texi (Dialog Boxes): Rename x-use-old-gtk-file-dialog + to x-gtk-use-old-file-dialog. + (Dialog Boxes): Document x-gtk-file-dialog-help-text. + +2006-09-15 Jay Belanger + + * emacs.texi (GNU GENERAL PUBLIC LICENSE): + Change "Library Public License" to "Lesser Public License" + throughout. Use "yyyy" to represent year. + +2006-09-12 Reiner Steib + + * files.texi (Visiting): Add index entry "open file". + +2006-09-11 Richard Stallman + + * building.texi (Compilation Mode): Clarification. + (Grep Searching): Add xref to Compilation Mode. + +2006-09-08 Richard Stallman + + * search.texi (Search): Ref multi-file search commands here. + (Other Repeating Search): Not here. + +2006-08-28 Richard Stallman + + * windows.texi (Split Window): Update xref. + + * basic.texi (Continuation Lines): Update xref. + + * indent.texi (Tab Stops): Update xref. + + * emacs.texi (Top): Update subnode menu. + + * display.texi (Line Truncation, Displaying Boundaries): New nodes, + split out of Display Custom. + +2006-08-25 Kim F. Storm + + * display.texi (Display Custom): Add variables overline-margin + and x-underline-at-descent-line. + +2006-08-25 Richard Stallman + + * entering.texi (Exiting): Rewrite to give graphical displays + priority over text terminals. + + * search.texi (Incremental Search): Move index entries. + +2006-08-23 Chong Yidong + + * custom.texi (Init File): Reference Find Init to avoid "home + directory" confusion. + +2006-08-22 Nick Roberts + + * building.texi (Other GDB-UI Buffers): Describe how to edit + a value in the locals buffer. + +2006-08-21 Richard Stallman + + * search.texi (Basic Isearch): Add `isearch' index entry. + +2006-08-16 Richard Stallman + + * misc.texi (Saving Emacs Sessions): Clean up wording. + + * mark.texi (Marking Objects): Mention term "select all". + + * emacs.texi (Top): Update subnode menu. + + * help.texi (Help Mode): Move node up in file. + +2006-08-15 Nick Roberts + + * building.texi (Stack Buffer): Explain fringe arrow. + +2006-08-12 Eli Zaretskii + + * misc.texi (Saving Emacs Sessions): Clarify when desktop is restored + on startup. + +2006-08-11 Romain Francoise + + * ack.texi (Acknowledgments): Delete mention to zone-mode.el. + +2006-08-10 Sven Joachim (tiny change) + + * mule.texi (Recognize Coding, Text Coding): Fix typos. + +2006-08-10 Richard Stallman + + * text.texi (Format Faces): Substantial rewrites to deal + with face merging. Empty regions don't count. Clarify + face property inheritance. + +2006-08-08 Romain Francoise + + * dired.texi (Marks vs Flags): Fix typo reported by Ari Roponen + . + +2006-08-04 Eli Zaretskii + + * cmdargs.texi (Window Size X) <--geometry>: Only width and height + apply to all frames. + +2006-08-01 Richard Stallman + + * help.texi (Name Help): Add index entries for describe-variable. + +2006-08-01 Nick Roberts + + * building.texi (GDB Graphical Interface): Shorten node names. + (GDB-UI Layout): Use GDB-related. + (Other GDB-UI Buffers): Simplify English. + +2006-07-31 Richard Stallman + + * search.texi (Query Replace): Add xref for Dired's Q command. + +2006-07-31 Nick Roberts + + * building.texi (GDB commands in Fringe): Rename to... + (Source Buffers): ..this and move forward. Describe hollow arrow and + new option gdb-find-source-frame. + +2006-07-29 Richard Stallman + + * dired.texi (Operating on Files): Simplify previous change + and fix Texinfo usage. + +2006-07-29 Eli Zaretskii + + * dired.texi (Operating on Files): Add cross-references. State the + Unix commands that do similar things. + +2006-07-28 Richard Stallman + + * mark.texi (Transient Mark): Clarify that region never disappears + when Transient Mark mode is off, and not when it is on. + +2006-07-27 Richard Stallman + + * search.texi (Non-ASCII Isearch): Clarify. Mention C-q. + +2006-07-24 Richard Stallman + + * xresources.texi (GTK styles): Fix texinfo usage. + + * commands.texi (User Input): Explain why we teach keyboard cmds. + + * xresources.texi, xresmini.texi, search.texi, programs.texi: + * misc.texi, kmacro.texi, killing.texi, glossary.texi: + * fortran-xtra.texi, files.texi, emacs.texi, emacs-xtra.texi: + * doclicense.texi, display.texi, dired.texi, basic.texi: + * anti.texi, ack.texi: Move periods and commas inside quotes. + +2006-07-22 Eli Zaretskii + + * cmdargs.texi (General Variables): Document EMAIL. + +2006-07-21 Eli Zaretskii + + * frames.texi (Frame Commands): Mention that focus-follows-mouse + doesn't have effect on MS-Windows. + +2006-07-17 Richard Stallman + + * building.texi (Grep Searching): Explain about chaining grep commands. + +2006-07-10 Nick Roberts + + * killing.texi, mini.texi: Fix typos. + +2006-07-09 Chong Yidong + + * misc.texi (Invoking emacsclient): Document behavior when emacsclient + is invoked for multiple files. + +2006-07-08 Eli Zaretskii + + * msdog.texi (Windows Keyboard) [@iftex]: Add an @inforef to the + on-line manual for the rest of this node. + (Windows Mouse) : Include + unconditionally. + (Windows Processes) : Include unconditionally. + Improve wording. + (Windows Printing): Improve wording. + (Windows Misc) [@iftex]: Add an @inforef to the on-line manual for the + rest of this node. + +2006-07-05 Thien-Thi Nguyen + + * building.texi (Lisp Eval): Throughout, replace eval-current-buffer + with eval-buffer. + +2006-07-05 Nick Roberts + + * mule.texi (Coding Systems, Specify Coding): Link descriptions + of character translation. + +2006-07-04 Nick Roberts + + * rmail.texi (Remote Mailboxes): Add missing @code keyword. + +2006-07-03 Karl Berry + + * emacs.texi (\hbadness): Set to 6000 so we aren't bothered by + not-too-underfull hboxes in the TeX output. + * abbrevs.texi, buffers.texi, building.texi, calendar.texi, + * cmdargs.texi, custom.texi, dired.texi, macos.texi, + * maintaining.texi, misc.texi, mule.texi, programs.texi, rmail.texi, + * sending.texi, text.texi: Fix overfull/underfull boxes. + +2006-07-03 Romain Francoise + + * m-x.texi (M-x): Fix. + +2006-07-03 Richard Stallman + + * search.texi (Other Repeating Search): filename -> file name. + + * misc.texi (Narrowing): Minor cleanups. + + * files.texi (Visiting): filename -> file name. + + * emacs.texi (Top): Update subnode menus. + + * mule.texi (Coding Systems): Move char translation stuff here. + (Specify Coding, Output Coding): New nodes, out of Recognize Coding. + (Recognize Coding): Substantial local rewrites. + (International): Update menu. + + * display.texi (Auto Scrolling): New node, broken out of Scrolling. + (Scrolling): Substantial local rewrites. + (Display): Update menu and intro. + + * dired.texi: filename -> file name. + + * custom.texi (Safe File Variables): Texinfo usage fix. + +2006-07-03 Ted Zlatanov + + * help.texi, m-x.texi: Lots of cleanups. + +2006-06-30 Eli Zaretskii + + * msdog.texi (ls in Lisp, Windows Keyboard, Windows Mouse) + (Windows Processes, Windows Misc): Shorten the printed version by + selectively conditioning less important portions by @ifnottex. + +2006-06-27 Richard Stallman + + * mini.texi (Minibuffer File): Minor cleanup. + +2006-06-25 Nick Roberts + + * frames.texi (XTerm Mouse): Rename to... + (Text-Only Mouse): ...this. Mention t-mouse-mode. + + * emacs.texi (Top): Use new node name. + +2006-06-24 Eli Zaretskii + + * emacs.texi (Top): Update the detailed menu according to changes in + msdog.texi. + + * msdog.texi (Windows Keyboard): New section. + (Windows Mouse): New section. + (Windows System Menu): Remove section (text merged with "Windows + Keyboard"). + (Windows Misc): New section. + + * dired.texi (Dired Enter): Refer to msdog.texi for ls-lisp emulation. + + * msdog.texi (ls in Lisp): New section. + + * files.texi (Visiting): Document case-insensitive wildcard matching + under find-file-wildcards. + +2006-06-16 YAMAMOTO Mitsuharu + + * macos.texi (Mac Input): Add description of mac-function-modifier. + Now Unicode keyboard layouts work. + +2006-06-10 Richard Stallman + + * mule.texi (Recognize Coding): Clarify previous change. + +2006-06-09 Kenichi Handa + + * mule.texi (Recognize Coding): Describe the convention of "CODING!" + notation. + +2006-06-07 Kevin Ryde + + * mule.texi (Coding Systems): Footnote xref "MS-DOS and MULE" in main + manual for @ifnottex, but in emacs-extra for @iftex. + + * cmdargs.texi (General Variables): Fix smtpmail xref. + +2006-05-29 Stefan Monnier + + * programs.texi (Comment Commands): + * custom.texi (Specifying File Variables): + Use ;; instead of ;;; to better follow coding conventions. + +2006-06-07 Nick Roberts + + * building.texi (Watch Expressions): Move node to end. + (GDB Graphical Interface): Move description of clicks in fringe... + (GDB commands in the Fringe): ...to here. New node. + +2006-06-05 Romain Francoise + + * xresmini.texi (GTK resources): Fix various typos. + +2006-06-05 Nick Roberts + + * building.texi (GDB Graphical Interface): Update bindings. + (Commands of GUD): Add gud-print. Remove gud-run. + Restate availability more generally. + +2006-06-03 Ted Zlatanov + + * mini.texi: Lots of cleanups. + +2006-06-01 Luc Teirlinck + + * misc.texi (Shell History Copying): Update descriptions of `C-c RET' + and Mouse-2. + +2006-06-01 Jan Dj,Ad(Brv + + * screen.texi (Menu Bar): Change menu-bar-start to menu-bar-open. + +2006-05-31 Richard Stallman + + * basic.texi (Moving Point): Fix previous change. + +2006-05-29 Jan Dj,Ad(Brv + + * screen.texi (Menu Bar): F10 for Gtk+/Lesstif/Lucid menus. + +2006-05-28 Ted Zlatanov + + * basic.texi: Many simplifications and improvements in wording. + +2006-05-26 Nick Roberts + + * anti.texi (Antinews): Create a node for gdb-ui. + +2006-05-22 Reiner Steib + + * frames.texi (Menu Bars, Tool Bars): Add index entries. + +2006-05-20 Richard Stallman + + * dired.texi (Dired Navigation): dired-goto-file is now j. + +2006-05-20 Eli Zaretskii + + * mule.texi (Coding Systems): Mention the undecided-* coding systems + and their aliases. + + * msdog.texi (Windows Printing): Mention non-support of plain text + printing with some el-cheapo printers, and suggest a workaround. + +2006-05-20 Kevin Ryde + + * text.texi (TeX Print): tex-dvi-view-command has a default value, + remove the bit saying you must set it. + +2006-05-19 Luc Teirlinck + + * trouble.texi (Checklist): + * text.texi (Text, Auto Fill, Text Mode): + * search.texi (Nonincremental Search): + * rmail.texi (Rmail Labels): + * mule.texi (Input Methods, Multibyte Conversion): + * misc.texi (Gnus, Where to Look, PostScript): + * maintaining.texi (Create Tags Table): + * indent.texi (Indentation Commands): + * fixit.texi (Spelling): + * emacs.texi (Copying): + * custom.texi (Init File): ifinfo -> ifnottex. + +2006-05-17 Richard Stallman + + * files.texi (Diff Mode): Mention C-x `. + +2006-05-08 Richard Stallman + + * custom.texi (Disabling): Textual cleanups. + +2006-05-12 Glenn Morris + + * calendar.texi (Displaying the Diary, Format of Diary File): + Refer to diary-view-entries, diary-list-entries, + diary-show-all-entries rather than obsolete aliases. + +2006-05-12 Eli Zaretskii + + * calendar.texi (Calendar/Diary, Holidays, Displaying the Diary) + (Displaying the Diary, Special Diary Entries, Importing Diary): + * building.texi (Compilation Shell): + * buffers.texi (Several Buffers) [iftex]: Replace @xref's to + emacs-xtra with @inforef's. + + * files.texi (Visiting): Fix wording. + + * mule.texi (Coding Systems, Text Coding): More indexing. + Mention that C-x RET f can set eol conversion. + +2006-05-07 Jan Dj,Ad(Brv + + * xresmini.texi (GTK resources): Insert GTK description. + + * xresources.texi (GTK resources): metafont should be menufont. + +2006-05-06 Michael Albinus + + * mini.texi (Completion Options): Completion of remote files' + method, user name and host name is active only in partial + completion mode. + +2006-05-06 Eli Zaretskii + + * makefile.w32-in (emacs.dvi): + * Makefile.in (emacs.dvi): Add xresmini.texi. + + * xresmini.texi (Table of Resources): Remove xref to non-existent + node "LessTif Resources". + + * msdog.texi (Microsoft Windows): + * calendar.texi (Calendar/Diary, Displaying the Diary) + (Special Diary Entries, Importing Diary, Holidays): + * programs.texi (Program Modes): + * text.texi (Text): + * buffers.texi (Several Buffers): + * files.texi (Comparing Files): Fix cross-references to emacs-xtra. + +2006-05-06 Eli Zaretskii + + The following changes merge the emacs-xtra manual into the main + manual, but only for on-line version of the manual. + + * vc2-xtra.texi (Version Backups, Local Version Control) + (Making Snapshots, Change Logs and VC, Version Headers) + (Customizing VC, CVS Options) [ifnottex]: Conditional xref's for + on-line manual. + + * vc1-xtra.texi (VC Dired Mode) [ifnottex]: Conditional xref's + for on-line manual. + + * msdog-xtra.texi (MS-DOS, MS-DOS Keyboard, MS-DOS Mouse) + (MS-DOS Display, MS-DOS File Names, MS-DOS Printing) + (MS-DOS and MULE, MS-DOS Processes) [ifnottex]: Conditional xref's + for on-line manual. + + * fortran-xtra.texi (Fortran, Fortran Autofill) + (Fortran Autofill, Fortran Abbrev) [ifnottex]: Conditional xref's + for on-line manual. + + * picture-xtra.texi (Basic Picture, Rectangles in Picture) [ifnottex]: + Conditional xref's for on-line manual. + + * emerge-xtra.texi (Emerge, Overview of Emerge) + (Fine Points of Emerge) [ifnottex]: Conditional xref's for on-line + manual. + + * Makefile.in (INFO_TARGETS): Remove ../info/emacs-xtra. + (EMACS_XTRA): New variable, lists the new *-xtra.texi files. + (EMACSSOURCES): Use EMACS_XTRA. + (../info/emacs-xtra): Remove. + (emacs-xtra.dvi): Add EMACS_XTRA to prerequisites. + + * makefile.w32-in (INFO_TARGETS): Remove $(infodir)/emacs-xtra. + (EMACS_XTRA): New variable, lists the new *-xtra.texi files. + (EMACSSOURCES): Use EMACS_XTRA. + ($(infodir)/emacs-xtra): Remove. + (emacs-xtra.dvi): Add EMACS_XTRA to prerequisites. + + * trouble.texi (Quitting): + * text.texi (Text): + * programs.texi (Program Modes): + * msdog.texi (Microsoft Windows): + * frames.texi (Frames): + * files.texi (Backup, Version Control, VC Concepts) + (Types of Log File, Advanced C-x v v, Log Buffer, Old Versions) + (Registering, VC Status, VC Undo, Multi-User Branching) + (Comparing Files): + * calendar.texi (Calendar/Diary, Holidays, Displaying the Diary) + (Displaying the Diary, Special Diary Entries, Importing Diary): + * buffers.texi (Several Buffers): Replace inforef to emacs-xtra by + conditional xref's, depending on @iftex/@ifnottex. + + * msdog.texi (Microsoft Windows) [ifnottex]: Add menu entry for + "MS-DOS". @include msdog-xtra.texi. + + * programs.texi (Programs) [ifnottex]: Add menu entry for "Fortran". + [ifnottex]: @include fortran-xtra.texi. + + * files.texi (Secondary VC Commands) [ifnottex]: Add menu entries + for vc-xtra.texi subsections. + (VC Undo) [ifnottex]: @include vc1-xtra.texi and @lowersections it. + (Multi-User Branching) [ifnottex]: @include vc2-xtra.texi. + + * sending.texi (Sending Mail): A @node line without explicit Prev, + Next, and Up links. + + * abbrevs.texi (Abbrevs): A @node line without explicit Prev, + Next, and Up links. + + * emacs.texi (Top) [ifnottex]: Add menu entries for "Picture Mode" + and its sections. @include picture-xtra.texi. + + * maintaining.texi (Maintaining) [ifnottex]: Add menu entry for + "Emerge". + (List Tags) [ifnottex]: @include emerge-xtra.texi. + + * cal-xtra.texi (Daylight Savings): Remove this node: it is an + exact duplicate of its name-sake in calendar.texi. + + * calendar.texi (Calendar/Diary) [ifnottex]: Add menu item for + "Advanced Calendar/Diary Usage". + (Time Intervals) [ifnottex]: @include cal-xtra.texi. + + * dired.texi (Subdirectories in Dired) [ifnottex]: @include + dired-xtra.texi. + (Dired) [ifnottex]: Add menu entry for "Subdir Switches". + + * files.texi (Reverting) [ifnottex]: @include arevert-xtra.texi. + (Files) [ifnottex]: Add menu entry for Autorevert. + + * emacs-xtra.texi (Introduction): Reword to make consistent with + printed version only. + : Remove the body of all chapters and move them to the + new *-xtra.texi files. Use @raisesections and @lowersections to + convert sections to chapters etc. + + * msdog-xtra.texi: + * fortran-xtra.texi: + * vc-xtra.texi: + * vc1-xtra.texi: + * vc2-xtra.texi: + * emerge-xtra.texi: + * cal-xtra.texi: + * dired-xtra.texi: + * arevert-xtra.texi: New files, with text from respective chapters + of emacs-xtra.texi. Convert each @chapter into @section, @section + into @subsection, etc. + + * emacs-xtra.texi (MS-DOS): Renamed from "MS-DOG". All references + updated. + + * msdog.texi (Microsoft Windows): Rename from "Emacs and Microsoft + Windows". All references updated. + +2006-05-06 YAMAMOTO Mitsuharu + + * macos.texi (Mac Input): Mention input from Character Palette. + (Mac Font Specs): Fix typo. + +2006-05-05 Richard Stallman + + * files.texi (Diff Mode): Minor cleanup. + +2006-05-05 Karl Berry + + * emacs.texi: Call @fonttextsize 10, inside @tex to avoid + errors from the current release of makeinfo (4.8). + * help.texi (Library Keywords): Change widest word in multitable + template from `emulations' to `convenience'. (Not sure if this is + related to the font change.) + +2006-05-05 Eli Zaretskii + + * files.texi (File Names): Add a footnote about limited support of + ~USER on MS-Windows. + + * cmdargs.texi (Initial Options): Add a footnote about limited + support of ~USER on MS-Windows. + +2006-05-03 Richard Stallman + + * files.texi (Diff Mode): Node moved here. + (Comparing Files): Delete what duplicates new node. + (Files): Put Diff Mode in menu. + + * misc.texi (Diff Mode): Moved to files.texi. + + * emacs.texi (Top): Update menu for Diff Mode. + + * trouble.texi (Emergency Escape): Simplify. + + * emacs.texi (Top): Minor clarification. + +2006-05-03 Teodor Zlatanov + + * commands.texi, entering.texi, screen.texi: Many simplifications. + +2006-05-03 Richard Stallman + + * commands.texi (Text Characters): Delete paragraph about unibyte + non-ASCII printing chars. + + * killing.texi (Killing): Say "graphical displays". + * display.texi: Say "graphical displays". + + * cmdargs.texi (Misc X): Say "graphical displays". + +2006-05-01 Richard Stallman + + * emacs.texi (Top): Add Diff Mode to menu. + +2006-05-01 Aaron S. Hawley + + * misc.texi (Diff Mode): New node. + +2006-05-01 YAMAMOTO Mitsuharu + + * macos.texi (Mac International): Now Carbon Emacs has ATSUI support. + (Mac Environment Variables): Shorten example line. + (Mac Font Specs): Shorten lisp lines. Add descriptions for ATSUI. + +2006-05-01 Nick Roberts + + * building.texi (GUD Customization): Describe cases %d and %c. + Update description for %e. + +2006-04-30 Glenn Morris + + * calendar.texi (LaTeX Calendar): Mention cal-tex-preamble-extra. + +2006-04-29 Dan Nicolaescu + + * custom.texi (Examining): Update C-h v output example. + +2006-04-29 Kim F. Storm + + * building.texi (Grep Searching): Add lgrep and rgrep. + +2006-04-23 Richard Stallman + + * emacs.texi [TeX]: Use xresmini.texi instead of xresources.texi. + + * xresmini.texi: New file. + + * xresources.texi (Face Resources): Split table into font resources + and the rest. Combine similar attributes for brevity. + +2006-04-21 Eli Zaretskii + + * emacs-xtra.texi (MS-DOS File Names): Remove section about + backslashes and case-insensitivity in file names (moved to the + main manual). + (MS-DOS Printing): Move most of the text to the main manual. + + * msdog.texi (Windows Files, Windows HOME, MS-Windows Printing): + New nodes. + (Windows Processes, Windows System Menu): Add index entries and + fix wording. + +2006-04-18 J.D. Smith + + * misc.texi (Shell Ring): Add notes on saved input when + navigating off the end of the history list. + +2006-04-18 Chong Yidong + + * misc.texi (Shell Options): Correct default value of + comint-scroll-show-maximum-output. + +2006-04-18 Nick Roberts + + * building.texi (Watch Expressions): Update. + +2006-04-12 Richard Stallman + + * search.texi: Clean up previous change. + +2006-04-12 Eli Zaretskii + + * search.texi (Regexp Backslash, Regexp Replace): Add index + entries for ``back reference'' and mention the term itself in the + text. + +2006-04-11 Richard Stallman + + * custom.texi (Safe File Variables): + Document enable-local-variables = :safe. + +2006-04-11 Karl Berry + + * emacs-xtra.texi, emacs.texi (Dired under VC, VC Dired Commands) + (Remote Repositories, Version Backups, Local Version Control) + (Snapshots, Making and Using Snapshots, Snapshot Caveats) + (Miscellaneous Commands and Features of VC, Change Logs and VC) + (Renaming VC Work Files and Master Files) + (Inserting Version Control Headers, Customizing VC, General Options) + (Options for RCS and SCCS, Options specific for CVS): Move all + these nodes to emacs-xtra.texi, for brevity. + * cmdargs.texi, files.texi: Change cross-references. + +2006-04-11 J.D. Smith + + * files.texi (Old Versions): Update description of vc-annotate's + use of color to indicate date ranges. + +2006-04-09 Kevin Ryde + + * sending.texi (Mail Sending): In send-mail-function @pxref smtpmail, + put info and printed manual names the right way around. + +2006-04-09 Karl Berry + + * msdog.texi, emacs-xtra.texi: Move all the MS-DOS material to + emacs-xtra.texi, leaving only MS Windows information. + * building.texi, emacs.texi, frames.texi, gnu.texi, macos.texi, + * msdog.texi, mule.texi, trouble.texi: Change cross-references and + node names. + + * emacs.texi: Move @summarycontents and @contents to the beginning + of the file. + +2006-04-08 Kevin Ryde + + * text.texi (Fill Commands): fill-nobreak-predicate is now a hook. + +2006-04-07 Richard Stallman + + * programs.texi (Comments, Comment Commands, Options for Comments) + (Multi-Line Comments): "Align", not "indent". + (Basic Indent): C-j deletes trailing whitespace before the newline. + +2006-04-06 Richard Stallman + + * programs.texi (Basic Indent): Clarify relationship of C-j to TAB. + +2006-04-06 Eli Zaretskii + + * killing.texi (Rectangles): Add index entry for marking a rectangle. + +2006-04-05 Richard Stallman + + * emacs.texi (Top): Update subnode menu. + + * trouble.texi (Unasked-for Search): Node deleted. + (Lossage): Delete from menu. + +2006-04-04 Richard Stallman + + * trouble.texi: Various cleanups. + (Checklist): Don't bother saying how to snail a bug report. + (Emergency Escape): Much rewriting. + (After a Crash): Rename the core dump immediately. + (Total Frustration): Call it a psychotherapist. + (Bug Criteria): Avoid "illegal instruction". + (Sending Patches): We always put the contributor's name in. + + * misc.texi (Thumbnails): Minor correction. + +2006-04-03 Richard Stallman + + * misc.texi (Thumbnails): Minor cleanup. + +2006-04-02 Karl Berry + + * sending.texi (Mail Sending): pxref to Top needs five args. + + * texinfo.tex: Update to current version (2006-03-21.13). + +2006-03-31 Richard Stallman + + * emacs.texi (Top): Update subnode menu. + + * help.texi (Help Mode): Cleanup. + + * dired.texi: Many cleanups. + (Dired Deletion): Describe dired-recursive-deletes. + (Operating on Files): dired-create-directory moved. + (Misc Dired Features): Move to here. + (Tumme): Node moved to misc.texi. + + * custom.texi: Many cleanups. + (Minor Modes): Don't mention ISO Accents Mode. + (Examining): Update C-h v output example. + (Hooks): Add index and xref for add-hook. + (Locals): Delete list of vars that are always per-buffer. Rearrange. + (Local Keymaps): Don't mention lisp-mode-map, c-mode-map. + + * misc.texi: Many cleanups. + (beginning): Add to summary of topics. + (Shell): Put eshell xref at the end. Remove eshell from table. + (Thumbnails): New node. + +2006-03-28 Eli Zaretskii + + * files.texi (File Name Cache): Make it clear that the cache is + not persistent. + +2006-03-25 Karl Berry + + * emacs-xtra.texi, emacs.texi, gnu.texi: + (1) use @copyright{} instead of (C) in typeset text; + (2) do not indent copyright year list (or anything else). + +2006-03-21 Juanma Barranquero + + * files.texi (VC Dired Mode): Remove misplaced brackets. + +2006-03-21 Andre Spiegel + + * files.texi: Various updates and clarifications in the VC chapter. + +2006-03-19 Luc Teirlinck + + * help.texi (Help Mode): Document "C-c C-c". + +2006-03-16 Luc Teirlinck + + * emacs-xtra.texi (Top): Avoid ugly continuation line in + menu in the standalone Info reader. + +2006-03-15 Chong Yidong + + * emacs-xtra.texi (Emerge, Picture Mode, Fortran): New chapters, + moved here from Emacs manual. + + * programs.texi (Fortran): Section moved to emacs-xtra. + (Program Modes): Xref to Fortran in emacs-xtra. + + * maintaining.texi (Emerge): Move to emacs-xtra. + * files.texi (Comparing Files): Xref to Emerge in emacs-xtra. + + * picture.texi: File deleted. + * Makefile.in: + * makefile.w32-in: Remove picture.texi. + + * text.texi (Text): Xref to Picture Mode in emacs-xtra. + * abbrevs.texi (Abbrevs): + * sending.texi (Sending Mail): Picture node removed. + + * emacs.texi (Top): Update node listings. + +2006-03-12 Richard Stallman + + * calendar.texi: Various cleanups. + +2006-03-11 Luc Teirlinck + + * search.texi (Regexps): Use @samp for regexp that is not in Lisp + syntax. + +2006-03-08 Luc Teirlinck + + * search.texi (Regexps): More accurately describe which characters + are special in which situations. Recommend _not_ to quote `]' or + `-' when they are not special. + +2006-02-28 Andre Spiegel + + * files.texi (Old Versions): Clarify operation of C-x v =. + +2006-02-21 Nick Roberts + + * building.texi (Watch Expressions): Update and describe + gdb-speedbar-auto-raise. + +2006-02-19 Richard M. Stallman + + * emacs.texi: Use @smallbook. + (Top): Update ref to Emacs paper, delete ref to Cookbook. + Update subnode menu. + + * building.texi (Lisp Interaction): Minor addition. + +2006-02-18 Nick Roberts + + * building.texi (Watch Expressions): Update and be more precise. + +2006-02-15 Francesco Potort,Al(B + + * maintaining.texi (Create Tags Table): Explain why the + exception when etags writes to files under the /dev tree. + +2006-02-14 Richard M. Stallman + + * custom.texi (Safe File Variables): Lots of clarification. + Renamed from Unsafe File Variables. + +2006-02-14 Chong Yidong + + * custom.texi (Unsafe File Variables): File variable confirmation + assumed denied in batch mode. + +2006-02-14 Richard M. Stallman + + * building.texi (GDB User Interface Layout): Don't say `inferior' + for program being debugged. + +2006-02-15 Nick Roberts + + * building.texi (GDB Graphical Interface): + Replace gdb-use-inferior-io-buffer with gdb-use-separate-io-buffer. + +2006-02-13 Chong Yidong + + * custom.texi (Specifying File Variables, Unsafe File Variables): + New nodes, split from File Variables. Document new file local + variable behavior. + +2006-02-13 YAMAMOTO Mitsuharu + + * display.texi (Standard Faces): + * files.texi (Visiting): + * frames.texi (Clipboard): + * glossary.texi (Glossary) : + * xresources.texi (X Resources): Mention Mac OS port. + +2006-02-12 Richard M. Stallman + + * building.texi (Building): Clarify topic in intro. + + * maintaining.texi (Maintaining): Change title; clarify topic. + Delete duplicate index entries. + + * building.texi (Other GDB User Interface Buffers): Clarifications. + + * text.texi (Cell Commands): Clarifications. + + * programs.texi (Defuns): Delete duplicate explanation of + left-margin paren convention. + (Hungry Delete): Minor cleanup. + +2006-02-11 Mathias Dahl + + * dired.texi (Tumme): More tumme documentation. + +2006-02-11 Alan Mackenzie + + * programs.texi ("Hungry Delete"): Correct the appellation of the + backspace and delete keys to @kbd{DEL} and @kbd{DELETE}. + +2006-02-11 Mathias Dahl + + * dired.texi (Tumme): Fix small bug. + +2006-02-10 YAMAMOTO Mitsuharu + + * macos.texi (Mac International): Rename "fontset-mac" to + "fontset-standard". + +2006-02-09 Mathias Dahl + + * dired.texi (Tumme): Basic documentation for Tumme added. + +2006-02-07 Luc Teirlinck + + * mule.texi (International): + * programs.texi (Basic Indent): Fix typos. + + * custom.texi (Minor Modes): + * display.texi (Text Display): + * commands.texi (Text Characters): Update xrefs. + +2006-02-07 Richard M. Stallman + + * emacs.texi (Top): Update subnode menu. + Update info on old Emacs papers. + (Intro): "Graphical display", not window system. + + * xresources.texi (GTK styles): Minor clarifications. + + * trouble.texi: "Graphical display", not window system. + (Stuck Recursive): Minor clarification. + + * text.texi: Minor clarifications. + (Sentences): Explain why two-space convention is better. + Explain sentence-end-without-period here. + (Fill Commands): Not here. + (Refill): Node moved down. + (Filling): Update menu. + (Table Creation, Cell Justification, Column Commands): Clarify. + + * sending.texi: Minor clarifications. + + * search.texi (Regexp Backslash): Clarification. + + * rmail.texi: Minor cleanups. + (Rmail): Delete digression about `rmail-mode'. + (Rmail Inbox): Delete false advice wrt rmail-primary-inbox-list. + (Rmail Files): Mention C-u M-x rmail. + (Rmail Reply): Mention References. + (Rmail Display): Mention rmail-nonignored-headers. + + * programs.texi: Minor cleanups. + (Comment Commands): Mention momentary Transient Mark mode. + (Matching): Be more specific about customizing show-paren-mode. + (Info Lookup): Don't list the modes that support C-h S. + Just say what it does in an unsupported mode. + (Man Page): Delete excessive info on customizing woman. + (Motion in C): Don't mention c-for/backward-into-nomenclature. + + * abbrevs.texi: Minor clarifications. + (Dabbrev Customization): Talk about "dynamic abbrev expansion", + not "dynamic abbrevs" as if they were a kind of abbrev. + + * picture.texi (Picture): Minor cleanup. + + * mule.texi (Communication Coding): Say "other applications". + (Fontsets): Not specific to X. Add xref to X Resources. + (Unibyte Mode): Rename from Single-Byte Character Support. + "Graphical display", not window system. + (International): Update menu. + + * maintaining.texi (Format of ChangeLog): + New node, split out from ChangeLog. + (ChangeLog): Clarifications in the remaining text. + (Create Tags Table, Etags Regexps, Select Tags Table): Cleanups. + (Find Tag): Add @w. + (Tags Search): Explain tag table order here. Simplify grep ref. + (List Tags): tags-tag-face is a variable, not a face. + (Emerge): Cleanups. + + * kmacro.texi (Keyboard Macro Counter): Rewrite for clarity. + (Keyboard Macros): Avoid "the user". + + * killing.texi: "Graphical display", not window system. + + * help.texi (Help Echo): "Graphical display", not window system. + + * glossary.texi: Say "you", not "the user". Say "graphical display". + + * frames.texi: Minor cleanups. "Graphical display", not window system. + + * files.texi (Visiting): Make drag-and-drop not X-specific. + + * custom.texi: Minor cleanups. "Graphical display", not window system. + + * cmdargs.texi: Minor cleanups. + + * building.texi (Compilation): Move and split kill-compilation para. + Add para about multiple compilers. + (Compilation Mode): Commands also available in grep mode and others. + Mention C-u C-x ` more tutorially. Clarify C-x `. + (Compilation Shell): Clarify. Put Bash example first. + (Grep Searching): Minor cleanups; add @w. + (Debuggers): Minor cleanups. + (Starting GUD): Make GDB xgraphical mode issue clearer. + (Debugger Operation): Lots of clarifications including + GDB tooltip side-effect issue. + (Commands of GUD): Clarify. + (GUD Customization): Add bashdb-mode-hook. + (GDB Graphical Interface): Rewrite for clarity. + (GDB User Interface Layout): Rewrite for clarity. + (Stack Buffer, Watch Expressions): Likewise. + (Other GDB User Interface Buffers): Cleanups. + (Lisp Libraries, External Lisp): Cleanup. + + * basic.texi (Position Info): "Graphical displays", rather than + window systems. + + * anti.texi: Minor cleanup. + +2006-02-03 Eli Zaretskii + + * custom.texi (Init File, Find Init): Add cross-references to + where $HOME is described. + +2006-02-01 Luc Teirlinck + + * frames.texi (Frame Parameters): Remove @item for S-Mouse-1; it + is not inside the @table. + + * emacs.texi (Top): Correct node name. + + * files.texi (File Names): Fix @xref. + (Reverting): Fix typo. + + * mule.texi (International): Correct node name. + + * kmacro.texi (Save Keyboard Macro): Add missing @kbd to @table. + +2006-02-01 Richard M. Stallman + + * emacs.texi (Top): Update subnode menu. + + * mule.texi: Minor clarifications. + Reduce the specific references to X Windows. + Refer to "graphical" terminals, rather than window systems. + (Text Coding): Rename from Specify Coding. + (Communication Coding, File Name Coding, Terminal Coding): + New nodes split out from Text Coding. + + * kmacro.texi: Minor clarifications. + (Keyboard Macro Ring): Comment out some excessive commands. + (Basic Keyboard Macro): Split up the table, putting part in each node. + + * major.texi: Minor clarifications. + + * misc.texi (Single Shell, Interactive Shell): Fix xrefs. + + * windows.texi: Minor clarifications. + (Change Window): Don't describe mode-line mouse cmds here. + Add xref to Mode Line Mouse. + + * msdog.texi (Text and Binary, MS-DOS and MULE): Fix xrefs. + + * macos.texi (Mac International): Fix xref. + + * indent.texi: Minor clarifications. + + * frames.texi: Minor clarifications. + Reduce the specific references to X Windows. + Refer to "graphical" terminals, rather than window systems. + (Frame Parameters): Don't mention commands like + set-foreground-color. Just say to customize a face. + (Drag and Drop): Lisp-level stuff moved to Emacs Lisp manual. + + * files.texi: Minor clarifications. + (Numbered Backups): New node, split out from Backup Names. + + * display.texi (Font Lock): C mode no longer depends on (-in-col-0. + + * cmdargs.texi (General Variables): Fix xref. + + * buffers.texi: Minor clarifications. + +2006-01-31 Richard M. Stallman + + * display.texi (Scrolling, Horizontal Scrolling, Follow Mode): + Nodes moved to top. + + * display.texi: Minor clarifications. + (Display): Rearrange menu. + (Standard Faces): Mention query-replace face. + (Faces): Simplify. + (Font Lock): Simplify face customization info. + (Highlight Changes): Node merged into Highlight Interactively. + (Highlight Interactively): Much rewriting and cleanup. + (Optional Mode Line): Narrowed line number not good for goto-line. + Simplify face customization advice. + (Text Display): Mention use of escape-glyph face. + Move ctl-arrow and tab-width here. + (Display Custom): Move no-redraw-on-reenter to end of node. + + * search.texi: Minor clarifications. + (Isearch Scroll): Simplify. + (Other Repeating Search): Document multi-occur-in-matching-buffers. + + * regs.texi (Registers): Mention bookmarks here. + + * mark.texi: Minor clarifications. + (Selective Undo): Node deleted. + + * m-x.texi: Minor clarifications. + + * killing.texi: Minor clarifications. + Refer to "graphical" terminals, rather than window systems. + + * help.texi: Clarifications. + (Help): Don't describe C-h F and C-h K here. + (Key Help): Describe C-h K here. + (Name Help): Mention Emacs Lisp Intro. + Describe C-h F here. + (Misc Help): Mention C-h F and C-h K only briefly. + + * fixit.texi (Undo): New node, mostly copied from basic.texi. + Selective undo text merged in. + (Spelling): Mention Aspell along with Ispell. + + * emacs.texi (Top): Update subnode menus. + + * basic.texi (Basic Undo): Rename from Undo. Most of text + moved to new Undo node. + +2006-01-29 Chong Yidong + + * basic.texi (Continuation Lines, Inserting Text): + Mention longlines mode. + +2006-01-29 Richard M. Stallman + + * screen.texi: Minor cleaups. + (Screen): Clean up the intro paragraphs. + (Mode Line): Lots of rewriting. Handle frame-name better. + eol-mnemonic-... vars moved out. + + * emacs.texi (Top): Change menu item for MS-DOS node. + Update subnode menu. + + * msdog.texi (MS-DOS): Rewrite intro to explain how this + chapter relates to Windows. Title changed. + + * mini.texi: Minor cleanups. + + * mark.texi (Selective Undo): New node, text moved from basic.texi. + (Mark): Put it in the menu. + + * entering.texi: Minor cleanups. + + * emacs.texi (Top): Add xref to Mac chapter; explain Windows better. + (Intro): Refer to "graphical" terminals, rather than X. + + * display.texi (Display Custom): Add xref to Variables. + (Optional Mode Line): eol-mnemonic-... vars moved here. + + * commands.texi: Minor cleanups. Refer to "graphical" terminals, + rather than X. + + * basic.texi: Minor cleanups. + (Undo): selective-undo moved. + +2006-01-25 Luc Teirlinck + + * anti.texi (Antinews): Various corrections and additions. + +2006-01-23 Juri Linkov + + * custom.texi (Easy Customization, Customization Groups) + (Browsing Custom): Mention links along with buttons. + +2006-01-21 Eli Zaretskii + + * text.texi (TeX Print): Use @key for TAB. + + * kmacro.texi (Keyboard Macro Step-Edit): Use @key for TAB. + +2006-01-15 Sven Joachim (tiny change) + + * files.texi (File Aliases): Don't claim that usually separate + buffers are created for two file names that name the same data. + Mention additional situations where different names mean the same + file on disk. + +2006-01-19 Richard M. Stallman + + * killing.texi (Deletion): Upcase @key argument. + + * custom.texi (Custom Themes): Minor cleanup. + + * programs.texi (Hungry Delete): Upcase @key argument. + +2006-01-16 Juri Linkov + + * display.texi (Standard Faces): Add `mode-line-buffer-id'. + Move `mode-line-highlight' before `mode-line-buffer-id'. + +2006-01-14 Richard M. Stallman + + * basic.texi (Inserting Text): Minor cleanup. + +2006-01-11 Luc Teirlinck + + * custom.texi (Changing a Variable, Face Customization): + Update for changes in Custom menus. + +2006-01-05 YAMAMOTO Mitsuharu + + * macos.texi (Mac International): Undo last change. + +2006-01-02 Chong Yidong + + * custom.texi (Custom Themes): Describe the new + customize-create-theme interface. + +2005-12-30 Juri Linkov + + * basic.texi (Position Info): Update example. + +2005-12-27 Jan Dj,Ad(Brv + + * frames.texi (Dialog Boxes): Add x-gtk-show-hidden-files. + +2005-12-24 Chong Yidong + + * custom.texi (Custom Themes): `load-theme' always loads. + +2005-12-23 Juri Linkov + + * display.texi (Highlight Interactively): Use double space to + separate sentences. Replace C-p with M-p, and C-n with M-n. + +2005-12-22 Richard M. Stallman + + * custom.texi (Easy Customization and subnodes): + Replace "active field" with "button". + Use "user option" only for variables. + Use "setting" for variable-or-face. + +2005-12-22 Luc Teirlinck + + * buffers.texi (Select Buffer): Change order in table to make + "Similar" refer to the correct item. + (Indirect Buffers): Minor rewording. + +2005-12-20 Juri Linkov + + * files.texi (VC Status): Put P and N near p and n. + +2005-12-19 Richard M. Stallman + + * programs.texi (Electric C): Delete the info about newline control. + (Other C Commands): Minor cleanup. + (Left Margin Paren): Minor cleanup. + +2005-12-19 Luc Teirlinck + + * custom.texi (Easy Customization): Add "Browsing Custom" to menu. + (Customization Groups): Delete text moved to "Browsing Custom". + (Browsing Custom): New node. + (Specific Customization): Clarify which commands only work for + loaded options. + +2005-12-18 Bill Wohler + + * frames.texi (Tool Bars): Shorten text of previous change. + +2005-12-18 Aaron S. Hawley + + * files.texi (VC Status): Document log-view mode. + +2005-12-18 Bill Wohler + + * frames.texi (Tool Bars): Mention that you can turn off tool bars + permanently via the customize interface. + +2005-12-16 Ralf Angeli + + * killing.texi (Killing by Lines): Document `kill-whole-line' + function. + +2005-12-16 L$,1 q(Brentey K,Aa(Broly + + * buffers.texi (Select Buffer): Change `prev-buffer' to + `previous-buffer'. Indicate that these functions use a frame + local buffer list. + +2005-12-12 Richard M. Stallman + + * custom.texi (Easy Customization): Change menu comment. + (Prefix Keymaps): Fix spelling of Control-X-prefix. + + * help.texi (Apropos): Rewrite. Talk about "apropos patterns". + (Help): Among the Apropos commands, describe only C-h a here. + +2005-12-11 Richard M. Stallman + + * programs.texi (Options for Comments): Comment-end starts with space. + + * glossary.texi (Glossary): Minor cleanup. + + * files.texi (Old Versions): Use @table. + +2005-12-10 David Koppelman + + * display.texi (Highlight Interactively): Include + global-hi-lock-mode. Add miscellaneous details and elaborations. + +2005-12-09 Richard M. Stallman + + * display.texi (Font Lock): Delete the Global FL menu item. + +2005-12-09 Luc Teirlinck + + * custom.texi (Minibuffer Maps): Mention the maps for file name + completion. + +2005-12-09 Kim F. Storm + + * killing.texi (CUA Bindings): Describe how to use C-x and C-c as + prefix keys even when mark is active. Decribe that RET moves + cursor to next corner in rectangle; clarify insert around rectangle. + +2005-12-08 Luc Teirlinck + + * custom.texi (Customization): Use xref to elisp manual for + non-TeX output. + (Minor Modes): Update. + (Customization Groups, Changing a Variable, Face Customization): + Update for new appearance of Custom buffers. + (Changing a Variable): `custom-buffer-done-function' has been + replaced by `custom-buffer-done-kill'. + (Specific Customization): In the `customize-group' buffer, a + subgroup's contents are not "hidden". They are not included at + all. They have no [Show] button. + (Mouse Buttons): Add pxref to description of mouse event lists in + Elisp manual. Add `menu-bar' and `header-line' dummy prefix keys. + (Find Init): Emacs now looks for ~/.emacs.d/init.el instead of + ~/.emacs.d/.emacs, if it can not find ~/.emacs(.el). + +2005-12-08 Richard M. Stallman + + * mini.texi (Completion Commands, Completion): + In file name input, SPC does not do completion. + +2005-12-08 Nick Roberts + + * building.texi (GDB Graphical Interface): Explain screen size + setting. + (Other GDB User Interface Buffers): Describe features specific to + GDB 6.4. + +2005-12-01 Nick Roberts + + * building.texi (GDB User Interface Layout): Describe how to + kill associated buffers. + (Breakpoints Buffer): Use D instead of d for gdb-delete-breakpoint. + (Watch Expressions): Be more precise. + (Other GDB User Interface Buffers): Describe how to change a + register value. + +2005-11-24 YAMAMOTO Mitsuharu + + * macos.texi (Mac Input): Remove description of + mac-command-key-is-meta. Add descriptions of + mac-control-modifier, mac-command-modifier, and + mac-option-modifier. + (Mac International): Fix description of conversion of clipboard data. + (Mac Font Specs): Add example of font customization by face attributes. + +2005-11-22 Nick Roberts + + * building.texi (Watch Expressions): Expand description. + (Other GDB User Interface Buffers): Describe local map for + gud-watch. + +2005-11-21 Chong Yidong + + * display.texi (Font Lock): Font lock is enabled by default now. + +2005-11-20 Juri Linkov + + * basic.texi (Position Info): Update examples of the output. + Remove the fact that examples are produced in the TeXinfo buffer, + because in the Info reader users will get a different output from + `C-x ='. + + * building.texi (Compilation Mode): Remove paragraph duplicated + from the node `Compilation'. Add `compilation-skip-threshold'. + + * display.texi (Font Lock): Suggest more user-friendly method of + finding all Font Lock faces (M-x customize-group RET font-lock-faces). + +2005-11-18 Richard M. Stallman + + * files.texi (Registering): Mention @@ in mode line. + + * mini.texi (Minibuffer File): Clarify previous change. Add @findex. + +2005-11-08 Aaron S. Hawley + + * files.texi (Renaming and VC): Some back-ends don't + handle renaming. + +2005-11-17 Juri Linkov + + * emacs.texi (Top): + * display.texi (Highlight Interactively): Put this font-lock based + mode near Font Lock node. + +2005-11-16 Chong Yidong + + * ack.texi (Acknowledgments): Acknowledge Andrew Zhilin for Emacs + icons. + +2005-11-12 Kim F. Storm + + * help.texi (Help): Fix C-h a entry. Add C-h d entry. + (Help Summary): Add C-h d and C-h e. + (Apropos): Clarify that all apropos commands may search for either + list of words or a regexp. Add C-h d for apropos-documentation. + Describe apropos-documentation-sort-by-scores user option. + +2005-11-09 Luc Teirlinck + + * killing.texi (CUA Bindings): Add @section. + +2005-11-10 Kim F. Storm + + * emacs.texi (Top): Add CUA Bindings entry to menu. + + * killing.texi (CUA Bindings): New node. Moved here from + misc.texi and extended with info on rectangle commands and + rectangle highlighting, interface to registers, and the global + mark feature. + + * misc.texi (Emulation): Move CUA bindings item to killing.texi. + + * regs.texi: Prev link points to CUA Bindings node. + +2005-11-07 Luc Teirlinck + + * help.texi (Help Echo): By default, help echos are only shown on + mouse-over, not on point-over. + +2005-11-04 J,Ai(Br,At(Bme Marant + + * misc.texi (Shell Mode): Describe how to activate password echoing. + +2005-11-04 Romain Francoise + + * mark.texi (Mark Ring): Fix typo. + +2005-11-03 Richard M. Stallman + + * mark.texi (Mark Ring): Mention set-mark-command-repeat-pop. + +2005-11-01 Bill Wohler + + * help.texi (Help Mode): Fix typo. + +2005-11-01 Nick Roberts + + * building.texi (Other GDB User Interface Buffers): Describe + the command gdb-use-inferior-io-buffer. + +2005-10-31 Romain Francoise + + * files.texi (Compressed Files): Fix typo. + + * buffers.texi (Misc Buffer): Downcase `*shell*'. + + * windows.texi (Force Same Window): Likewise. + +2005-10-30 Bill Wohler + + * help.texi (Help Mode): URLs viewed with browse-url. + +2005-10-31 Nick Roberts + + * building.texi (GDB Graphical Interface): Don't reference + gdb-mouse-set-clear-breakpoint. Explain gdb-mouse-until + must stay in same frame. + +2005-10-29 Chong Yidong + + * custom.texi (Init File): Document ~/.emacs.d/init.el. + + * anti.texi (Antinews): Likewise. + +2005-10-28 Bill Wohler + + * help.texi (Help): Help mode now creates hyperlinks for URLs. + +2005-10-28 Richard M. Stallman + + * files.texi (Visiting): Explain how to enter ? in a file name. + + * trouble.texi (Memory Full): Mention !MEM FULL! in mode line. + +2005-10-25 Nick Roberts + + * building.texi (GDB Graphical Interface): Describe + gdb-mouse-until. + +2005-10-23 Richard M. Stallman + + * custom.texi (Init File): Recommend when to use site-start.el. + +2005-10-21 Juri Linkov + + * custom.texi (Examining): Mention accessing the old variable + value via M-n in set-variable. + +2005-10-18 Romain Francoise + + * files.texi (Version Systems): Capitalize GNU. + +2005-10-18 Nick Roberts + + * building.texi (Compilation Mode): Remove redundant paragraph. + (Watch Expressions): Remove paragraph to reflect code change. + +2005-10-16 Richard M. Stallman + + * building.texi (Compilation Mode, Compilation): Clarified. + +2005-10-15 Richard M. Stallman + + * misc.texi (Saving Emacs Sessions): Mention savehist library. + +2005-10-13 Kenichi Handa + + * basic.texi (Position Info): Fix previous change. + +2005-10-12 Jan Dj,Ad(Brv + + * cmdargs.texi (Icons X): Fix typo. + +2005-10-12 Kenichi Handa + + * basic.texi (Position Info): Describe the case that Emacs shows + "part of display ...". + +2005-10-10 Jan Dj,Ad(Brv + + * cmdargs.texi (Icons X): -nb => -nbi. + +2005-10-10 Chong Yidong + + * frames.texi (Speedbar): A couple more clarifications. + +2005-10-11 Nick Roberts + + * building.texi (GDB User Interface Layout): Improve diagram. + (Watch Expressions): Explain how to make speedbar global. + (Other GDB User Interface Buffers): Make references more precise. + +2005-10-09 Richard M. Stallman + + * frames.texi (Speedbar): Clarify the text. + +2005-10-09 Chong Yidong + + * frames.texi (Speedbar): Add information on keybindings, + dismissing the speedbar, and buffer display mode. Link to + speedbar manual. + +2005-10-09 Jan Dj,Ad(Brv + + * cmdargs.texi (Icons X): Removed options -i, -itype, --icon-type, + added -nb, --no-bitmap-icon. + +2005-10-07 Nick Roberts + + * building.texi (GDB Graphical Interface): Add variables and + functions to indices. Be more precise. + +2005-10-03 Jan Dj,Ad(Brv + + * frames.texi (Drag and Drop): Remove the x- from + x-dnd-open-file-other-window and xdnd-protocol-alist. + +2005-09-30 Romain Francoise + + * mini.texi (Minibuffer): The default value now appears before the + colon in minibuffer prompts. + +2005-09-25 Richard M. Stallman + + * search.texi (Regexp Search): Doc search-whitespace-regexp. + +2005-09-20 Emanuele Giaquinta (tiny change) + + * text.texi (Paragraphs): Correction about Paragraph-Indent Text mode. + +2005-09-21 YAMAMOTO Mitsuharu + + * emacs.texi (Top): Update submenus from macos.texi. + + * macos.texi: Change `Mac OS 8 or 9' to `Mac OS Classic'. + (Mac OS): Update feature support status. + (Mac Input): List supported input scripts. Remove description + about `mac-keyboard-text-encoding'. Mention mouse button + emulation and related variables. + (Mac International): Mention Central European and Cyrillic + support. Now `keyboard-coding-system' is dynamically changed. + Add description about coding system for selection. Add + description about language environment. + (Mac Environment Variables): Mention + `~/.MacOSX/environment.plist'. Give example of command line + arguments. Add Preferences support. + (Mac Directories): Explicitly state that this node is for Mac OS + Classic only. + (Mac Font Specs): Mention specification for scalable fonts. List + supported charsets. Add preferred way of creating fontsets. Add + description about `mac-allow-anti-aliasing'. + (Mac Functions): Add descriptions about `mac-set-file-creator', + `mac-get-file-creator', `mac-set-file-type', `mac-get-file-type', + and `mac-get-preference'. + +2005-09-16 Romain Francoise + + Update all files to specify GFDL version 1.2. + + * doclicense.texi (GNU Free Documentation License): Update to + version 1.2. + +2005-09-15 Richard M. Stallman + + * buffers.texi (List Buffers): Fix xref. + + * rmail.texi (Rmail Basics): Fix xref. + + * emacs.texi (Top): Update subnode menus. + + * files.texi (Saving Commands): New node, broken out of Saving. + (Customize Save): New node, broken out of Saving. + Clarify effect of write-region-inhibit-fsync. + (Misc File Ops): Say write-region-inhibit-fsync affects write-region. + +2005-09-14 Romain Francoise + + * files.texi (Saving): Mention write-region-inhibit-fsync. + +2005-09-05 Chong Yidong + + * custom.texi (Custom Themes): New node. + +2005-09-03 Richard M. Stallman + + * search.texi (Search Case): Mention vars that control + case-fold-search for various operations. + +2005-08-22 Juri Linkov + + * display.texi (Standard Faces): Merge the text from + `(elisp)Standard Faces' into this node. + +2005-08-18 Luc Teirlinck + + * emacs.texi (Top): Delete menu item for deleted node + Keyboard Translations. + +2005-08-18 Richard M. Stallman + + * trouble.texi (Unasked-for Search): + Delete xref to Keyboard Translations. + + * glossary.texi (Glossary): Delete xref. + + * custom.texi (Minor Modes): Say that the list here is not complete. + (Keyboard Translations): Node deleted. + (Disabling): Delete xref to it. + (Customization Groups): Fix Custom buffer example. + (Hooks): Mention remove-hooks. + +2005-08-17 Luc Teirlinck + + * building.texi (GDB Graphical Interface): Improve filling of menu + item. + +2005-08-18 Nick Roberts + + * building.texi (GDB Graphical Interface): Use better node names. + +2005-08-14 Richard M. Stallman + + * text.texi (Sentences): Fix xref. + +2005-08-14 Juri Linkov + + * building.texi (Compilation, Grep Searching): Move grep command + headings from `Compilation' to `Grep Searching'. + + * dired.texi (Dired and Find): + * maintaining.texi (Tags Search): Replace grep xref to + `Compilation' node with `Grep Searching'. + + * files.texi (Comparing Files): Replace xref to `Compilation' with + `Compilation Mode'. + +2005-08-13 Alan Mackenzie + + * search.texi (Non-ASCII Isearch): Correct a typo. + (Replacement Commands): Mention query-replace key binding. + +2005-08-11 Richard M. Stallman + + * programs.texi (Options for Comments): Fix xref. + + * search.texi (Regexp Backslash, Regexp Example): New nodes split + out of Regexps. + +2005-08-09 Juri Linkov + + * building.texi (Compilation): Use `itemx' instead of `item'. + (Grep Searching): Simplify phrase. + + * display.texi (Standard Faces): Describe vertical-border on + window systems. + + * windows.texi (Split Window): Simplify phrase and mention + vertical-border face. + +2005-08-09 Richard M. Stallman + + * files.texi (Comparing Files): Clarify compare-windows. + + * calendar.texi (Scroll Calendar): Document < and > in calendar. + +2005-08-06 Eli Zaretskii + + * mule.texi (Coding Systems): Rephrase the paragraph about + codepages: no need for "M-x codepage-setup" anymore, except on + MS-DOS. + + * msdog.texi (MS-DOS and MULE): Clarify that this section is for + the MS-DOS port only. + +2005-07-30 Eli Zaretskii + + * makefile.w32-in (info): Don't run multi-install-info.bat. + ($(infodir)/dir): New target, produced by running + multi-install-info.bat. + +2005-07-22 Eli Zaretskii + + * files.texi (Quoted File Names): Add index entry. + +2005-07-19 Juri Linkov + + * files.texi (Comparing Files): Mention resync for `compare-windows'. + +2005-07-18 Juri Linkov + + * custom.texi (Easy Customization): + * files.texi (Old Versions): + * frames.texi (Wheeled Mice): + * mule.texi (Specify Coding): + * text.texi (Cell Justification): + * trouble.texi (After a Crash): + * xresources.texi (GTK styles): + Delete duplicate duplicate words. + +2005-07-17 Richard M. Stallman + + * frames.texi (Creating Frames): Fix foreground color example. + + * custom.texi (Init Examples): Clean up text about conditionals. + +2005-07-16 Richard M. Stallman + + * mini.texi (Completion Commands): Fix command name for ?. + +2005-07-16 Eli Zaretskii + + * display.texi (Standard Faces): Explain that customization of + `menu' face has no effect on w32 and with GTK. Add + cross-references. + + * cmdargs.texi (General Variables): Clarify the default location + of $HOME on w32 systems. + +2005-07-15 Jason Rumney + + * cmdargs.texi (General Variables): Default HOME on MS Windows has + changed. + +2005-07-08 Kenichi Handa + + * mule.texi (Recognize Coding): Recommend + revert-buffer-with-coding-system instead of revert-buffer. + +2005-07-07 Richard M. Stallman + + * anti.texi (Antinews): Mention mode-line-inverse-video. + + * files.texi (Saving): Minor correction about C-x C-w. + + * display.texi (Display Custom): Don't mention mode-line-inverse-video. + +2005-07-07 Luc Teirlinck + + * search.texi (Isearch Scroll): Add example of using the + `isearch-scroll' property. + (Slow Isearch): Reference anchor for `baud-rate' instead of entire + `Display Custom' node. + (Regexp Replace): Put text that requires Emacs Lisp knowledge last + and de-emphasize it. + (Other Repeating Search): `occur' currently can not correctly + handle multiline matches. Correct, clarify and update description + of `flush-lines' and `keep-lines'. + + * display.texi (Display Custom): Add anchor for `baud-rate'. + +2005-07-07 Richard M. Stallman + + * gnu.texi: Update where to get GNU status; add refs for how to help. + Add footnotes 6 and 7. + +2005-07-04 Lute Kamstra + + Update FSF's address in GPL notices. + + * doclicense.texi (GNU Free Documentation License): + * trouble.texi (Checklist): Update FSF's address. + +2005-06-24 Richard M. Stallman + + * display.texi (Text Display): Change index entries. + +2005-06-24 Eli Zaretskii + + * makefile.w32-in (MAKEINFO): Use --force. + (INFO_TARGETS, DVI_TARGETS): Make identical to the lists in + Makefile.in. + +2005-06-23 Richard M. Stallman + + * anti.texi (Antinews): Renamed show-nonbreak-escape to + nobreak-char-display. + + * emacs.texi (Top): Update detailed node listing. + + * display.texi (Text Display): Renamed show-nonbreak-escape + to nobreak-char-display and no-break-space to nobreak-space. + (Standard Faces): Split up the list of standard faces + and put it in a separate node. Add nobreak-space and + escape-glyph. + +2005-06-23 Lute Kamstra + + * mule.texi (Select Input Method): Fix typo. + +2005-06-23 Kenichi Handa + + * mule.texi (International): List all supported scripts. Adjust + text for that leim is now included in the normal Emacs + distribution. + (Language Environments): List all language environments. + Intlfonts contains fonts for most supported scripts, not all.. + (Select Input Method): Refer to C-u C-x = to see how to type to + input a specifc character. + (Recognize Coding): Fix typo, china-iso-8bit -> chinese-iso-8bit. + +2005-06-23 Juanma Barranquero + + * building.texi (Grep Searching): Texinfo usage fix. + +2005-06-22 Miles Bader + + * display.texi (Faces): Change `vertical-divider' to `vertical-border'. + +2005-06-20 Miles Bader + + * display.texi (Faces): Add `vertical-divider'. + +2005-06-17 Richard M. Stallman + + * text.texi (Adaptive Fill): Minor clarification. + +2005-06-10 Lute Kamstra + + * emacs.texi (Top): Correct version number. + * anti.texi (Antinews): Correct version number. Use EMACSVER to + refer to the current version of Emacs. + +2005-06-08 Luc Teirlinck + + * files.texi (Log Buffer): Document when there can be more than + one file to be committed. + +2005-06-08 Juri Linkov + + * display.texi (Faces): Add `shadow' face. + +2005-06-07 Masatake YAMATO + + * display.texi (Faces): Write about mode-line-highlight. + +2005-06-06 Richard M. Stallman + + * misc.texi (Printing Package): Explain how to initialize + printing package. + + * cmdargs.texi (Action Arguments): Clarify directory default for -l. + +2005-06-05 Chong Yidong + + * emacs.texi: Rename Hardcopy to Printing. + Make PostScript and PostScript Variables subnodes of it. + + * misc.texi (Printing): Rename node from Hardcopy. + Mention menu bar options. + Move PostScript and PostScript Variables to submenu. + (Printing package): New node. + + * mark.texi (Using Region): Change Hardcopy xref to Printing. + + * dired.texi (Operating on Files): Likewise. + + * calendar.texi (Displaying the Diary): Likewise. + + * msdog.texi (MS-DOS Printing, MS-DOS Processes): Likewise. + + * glossary.texi (Glossary): Likewise. + + * frames.texi (Mode Line Mouse): Mention mode-line-highlight + effect. + +2005-06-04 Richard M. Stallman + + * trouble.texi (After a Crash): Polish previous change. + +2005-05-30 Noah Friedman + + * trouble.texi (After a Crash): Mention emacs-buffer.gdb as a + recovery mechanism. + +2005-05-28 Nick Roberts + + * building.texi (Other Buffers): SPC toggles display of + floating point registers. + +2005-05-27 Nick Roberts + + * files.texi (Log Buffer): Merge in description of Log Edit + mode from pcl-cvs.texi. + +2005-05-26 Richard M. Stallman + + * building.texi (Lisp Eval): C-M-x with arg runs Edebug. + +2005-05-24 Luc Teirlinck + + * fixit.texi (Spelling): Delete confusing sentence; flyspell is + not enabled by default. + When not on a word, `ispell-word' by default checks the word + before point. + +2005-05-24 Nick Roberts + + * building.texi (Debugger Operation): Simplify last sentence. + +2005-05-23 Lute Kamstra + + * emacs.texi: Update FSF's address throughout. + (Preface): Use @cite. + (Distrib): Add cross reference to the node "Copying". Mention the + FDL. Don't refer to etc/{FTP,ORDERS}. Mention the sale of + printed manuals. + (Intro): Use @xref for the Emacs Lisp Intro. + +2005-05-18 Luc Teirlinck + + * buffers.texi (Select Buffer): Document `C-u M-g M-g'. + + * basic.texi (Moving Point): Mention default for `goto-line'. + + * programs.texi (Lisp Doc): Eldoc mode shows only the first line + of a variable's docstring. + +2005-05-18 Lute Kamstra + + * maintaining.texi (Overview of Emerge): Add cross reference. + Remove duplication. + + * emacs.texi (Top): Update to the current structure of the manual. + * misc.texi (Emacs Server): Add menu description. + * files.texi (Saving): Fix menu. + * custom.texi (Customization): Fix menu. + * mule.texi (International): Fix menu. + * kmacro.texi (Keyboard Macros): Fix menu. + +2005-05-16 Luc Teirlinck + + * display.texi: Various minor changes. + (Faces): Delete text that is repeated in the next section. + +2005-05-16 Nick Roberts + + * building.texi (Debugger Operation): Mention GUD tooltips are + disabled with GDB in text command mode. + +2005-05-16 Nick Roberts + + * building.texi: Replace toolbar with "tool bar" for consistency. + (Compilation Mode): Describe compilation-context-lines + and use of arrow in compilation buffer. + (Debugger Operation): Replace help text with variable's value. + + * frames.texi (Tooltips): Replace toolbar with "tool bar" for + consistency. + +2005-05-15 Luc Teirlinck + + * major.texi (Choosing Modes): normal-mode processes the -*- line. + Add xref. + +2005-05-14 Luc Teirlinck + + * basic.texi (Moving Point): Mention `M-g g' binding for `goto-line'. + (Position Info): Delete discussion of `goto-line'. It is already + described in `Moving point'. + + * mini.texi (Completion Commands): Correct reference. + (Completion Options): Fix typo. + + * killing.texi (Deletion): Complete description of `C-x C-o'. + +2005-05-10 Richard M. Stallman + + * building.texi (Compilation): Clarify recompile's directory choice. + + * frames.texi (Tooltips): Cleanups. + + * basic.texi (Arguments): Fix punctuation. + +2005-05-09 Luc Teirlinck + + * screen.texi (Menu Bar): The up and down (not left and right) + arrow keys move through a keyboard menu. + +2005-05-08 Luc Teirlinck + + * basic.texi: Various typo and grammar fixes. + (Moving Point): C-a now runs move-beginning-of-line. + +2005-05-08 Nick Roberts + + * building.texi (Debugger Operation): Describe gud-tooltip-echo-area. + + * frames.texi (Tooltips): Describe help tooltips and GUD tooltips + as different animals. + +2005-05-07 Luc Teirlinck + + * frames.texi (Mouse References): Clarify `mouse-1-click-follows-link'. + Correct index entry. + +2005-05-07 Nick Roberts + + * building.texi (Debugger Operation): Update to reflect changes + in GUD tooltips. + +2005-04-30 Richard M. Stallman + + * files.texi (Compressed Files): Auto Compression normally enabled. + + * building.texi (Debugger Operation): Clarify previous change. + +2005-04-28 Nick Roberts + + * building.texi (Debugger Operation): Add description for + GUD tooltips when program is not running. + +2005-04-26 Luc Teirlinck + + * misc.texi (Shell): Add `Shell Prompts' to menu. + (Shell Mode): Add xref to `Shell Prompts'. Clarify `C-c C-u' + description. Delete remarks moved to new node. + (Shell Prompts): New node. + (History References): Replace remarks moved to `Shell Prompts' + with xref to that node. + (Remote Host): Clarify how to specify the terminal type when + logging in to a different machine. + +2005-04-26 Richard M. Stallman + + * emacs.texi (Top): Update submenus from files.texi. + + * files.texi (Filesets): Clarify previous change. + + * dired.texi (Misc Dired Features): Clarify previous change. + +2005-04-25 Chong Yidong + + * ack.texi (Acknowledgments): Delete info about iso-acc.el. + + * dired.texi (Misc Dired Features): Document + dired-compare-directories. + + * files.texi (Filesets): New node. + (File Conveniences): Document Image mode. + + * text.texi (TeX Print): Document tex-compile. + +2005-04-25 Luc Teirlinck + + * frames.texi (Tooltips): Tooltip mode is enabled by default. + Delete redundant reference to tooltip Custom group. It is + referred too again in the next paragraph. + +2005-04-24 Richard M. Stallman + + * ack.texi: Delete info about lazy-lock.el and fast-lock.el. + +2005-04-19 Kim F. Storm + + * building.texi (Compilation Mode): Add M-g M-n and M-g M-p bindings. + +2005-04-18 Lars Hansen + + * misc.texi (Saving Emacs Sessions): Add that "--no-desktop" now + turns off desktop-save-mode. + +2005-04-17 Luc Teirlinck + + * frames.texi (XTerm Mouse): Xterm Mouse mode is no longer enabled + by default in terminals compatible with xterm. Mention that + xterm-mouse-mode is a minor mode and put in pxref to Minor Modes + node. + +2005-04-12 Luc Teirlinck + + * frames.texi (XTerm Mouse): Xterm Mouse mode is now enabled by default. + +2005-04-12 Jan Dj,Ad(Brv + + * xresources.texi (Table of Resources): Add cursorBlink. + +2005-04-11 Luc Teirlinck + + * rmail.texi (Rmail Summary Edit): Explain numeric arguments to + `d', `C-d' and `u'. + +2005-04-11 Richard M. Stallman + + * cmdargs.texi (Initial Options): -Q is now --quick, and does less. + (Misc X): Add -D, --basic-display. + + * maintaining.texi (Change Log): Correct the description of + the example. + + * major.texi (Choosing Modes): Document magic-mode-alist. + +2005-04-10 Luc Teirlinck + + * rmail.texi (Rmail Basics): Clarify description of `q' and `b'. + (Rmail Deletion): `C-d' in RMAIL buffer does not accept a numeric arg. + (Rmail Inbox): Give full name of `rmail-primary-inbox-list'. + (Rmail Output): Clarify which statements apply to `o', `C-o' and + `w', respectively. + (Rmail Labels): Mention `l'. + (Rmail Attributes): Correct pxref. Mention `stored' attribute. + (Rmail Summary Edit): Describe `j' and RET. + +2005-04-10 Jan Dj,Ad(Brv + + * xresources.texi (Lucid Resources): Add fontSet resource. + +2005-04-09 Luc Teirlinck + + * display.texi (Useless Whitespace): `indicate-unused-lines' is + now called `indicate-empty-lines'. + +2005-04-06 Kim F. Storm + + * cmdargs.texi (Initial Options): Add --bare-bones alias for -Q. + +2005-04-04 Luc Teirlinck + + * dired.texi (Dired Visiting): `dired-view-command-alist' has been + deleted. + (Marks vs Flags): Add some convenient key bindings. + (Hiding Subdirectories): Delete redundant and inaccurate sentence. + (Misc Dired Features): Correct and expand description of `w' command. + + * frames.texi (XTerm Mouse): Delete apparently false info. + The GNU/Linux console currently does not appear to support + `xterm-mouse-mode'. + +2005-04-03 Glenn Morris + + * calendar.texi (Diary): Mention shell utility `calendar'. + +2005-04-01 Richard M. Stallman + + * cmdargs.texi (Misc X): Explain horizontal scroll bars don't exist. + +2005-04-01 Lute Kamstra + + * maintaining.texi (Change Log): add-change-log-entry uses + add-log-mailing-address. + +2005-03-31 Luc Teirlinck + + * files.texi (Reverting): Move `auto-revert-check-vc-info' to + `VC Mode Line' and put in an xref to that node. + (VC Mode Line): Move `auto-revert-check-vc-info' here and clarify + its description. + +2005-03-31 Paul Eggert + + * calendar.texi (Calendar Systems): Say that the Persian calendar + implemented here is the arithmetical one championed by Birashk. + +2005-03-30 Glenn Morris + + * programs.texi (Fortran Motion): Fix previous change. + +2005-03-29 Richard M. Stallman + + * mule.texi (Single-Byte Character Support): Reinstall the C-x 8 info. + +2005-03-29 Chong Yidong + + * text.texi (Refill): Refer to Long Lines Mode. + (Longlines): New node. + (Auto Fill): Don't index "word wrap" here. + (Filling): Add Longlines to menu. + +2005-03-29 Richard M. Stallman + + * xresources.texi: Minor fixes. + + * misc.texi (Emacs Server): Fix Texinfo usage. + + * emacs.texi (Top): Don't use a real section heading for + "Detailed Node Listing". Fake it instead. + + * basic.texi (Position Info): Minor cleanup. + + * mule.texi (Input Methods): Minor cleanup. + +2005-03-29 Glenn Morris + + * programs.texi (ForIndent Vars): `fortran-if-indent' does other + constructs as well. + (Fortran Motion): Add fortran-end-of-block, fortran-beginning-of-block. + +2005-03-29 Kenichi Handa + + * mule.texi (Input Methods): Refer to the command C-u C-x =. + + * basic.texi (Position Info): Update the description about the + command C-u C-x =. + +2005-03-28 Richard M. Stallman + + * emacs.texi (Top): Use @section for the detailed node listing. + + * calendar.texi: Minor fixes to previous change. + + * programs.texi (Fortran): Small fixes to previous changes. + + * emacs.texi (Top): Update list of subnodes of Dired. + Likewise for building.texi. + + * files.texi (File Conveniences): Delete Auto Image File mode. + +2005-03-28 Chong Yidong + + * building.texi (Flymake): New node. + + * custom.texi (Function Keys): Document kp- event types and + keypad-setup package. + + * dired.texi (Wdired): New node. + + * files.texi (File Conveniences): Reorder entries. + Explain how to turn on Auto-image-file mode. + Document Thumbs mode. + + * mule.texi (Specify Coding): Document recode-region and + recode-file-name. + + * programs.texi (Program Modes): Add Conf mode and DNS mode. + +2005-03-27 Luc Teirlinck + + * commands.texi (Keys): M-o is now a prefix key. + +2005-03-27 Glenn Morris + + * programs.texi: Reformat and update copyright years. + (Fortran): Update section. + +2005-03-26 Luc Teirlinck + + * files.texi: Several small changes in addition to: + (Visiting): Change xref for Dialog Boxes to ref. + (Version Headers): Replace references to obsolete var + `vc-header-alist' with `vc-BACKEND-header'. + (Customizing VC): Update value of `vc-handled-backends'. + +2005-03-26 Glenn Morris + + * emacs-xtra.texi (Advanced Calendar/Diary Usage): New section; + move here from Emacs Lisp Reference Manual. + * calendar.texi (Calendar/Diary, Diary Commands) + (Special Diary Entries, Importing Diary): Change some xrefs to + point to emacs-xtra rather than elisp. + + * emacs-xtra.texi (Calendar Customizing): + Move view-diary-entries-initially, view-calendar-holidays-initially, + mark-diary-entries-in-calendar, mark-holidays-in-calendar to main + Emacs Manual. + (Appt Customizing): Merge entire section into main Emacs Manual. + * calendar.texi (Holidays): Move view-calendar-holidays-initially, + mark-holidays-in-calendar here from emacs-xtra. + (Displaying the Diary): Move view-diary-entries-initially, + mark-diary-entries-in-calendar here from emacs-xtra. + (Appointments): Move appt-display-mode-line, + appt-display-duration, appt-disp-window-function, + appt-delete-window-function here from emacs-xtra. + + * calendar.texi: Update and reformat copyright. + Change all @xrefs to the non-printing emacs-xtra to @inforefs. + (Calendar/Diary): Menu now only on Mouse-3, not C-Mouse-3. + (Diary): Refer to `diary-file' rather than ~/diary. + (Diary Commands): Rename node to "Displaying the Diary". + * emacs.texi (Top): Rename "Diary Commands" section. + * misc.texi (Hardcopy): Rename "Diary Commands" xref. + +2005-03-26 Eli Zaretskii + + * misc.texi (Emacs Server): Fix the command for setting + server-name. Add an xref to Invoking emacsclient. + + * help.texi (Help Summary): Clarify when "C-h ." will do something + nontrivial. + (Apropos): Add cindex entry for apropos-sort-by-scores. + + * display.texi (Text Display): Add index entries for how no-break + characters are displayed. + +2005-03-26 Eli Zaretskii + + * files.texi (Visiting): Fix cross-references introduced with the + last change. + + * xresources.texi (GTK resources): Fix last change. + +2005-03-25 Chong Yidong + + * xresources.texi (X Resources): GTK options documented too. + (Resources): Clarify meaning of program name. + (Table of Resources): Add visualClass. + (GTK resources): Rewrite. + (GTK widget names, GTK Names in Emacs, GTK styles): Cleanups. + + * display.texi (Text Display): Mention non-breaking spaces. + + * files.texi (Reverting): Document auto-revert-check-vc-info. + + * frames.texi (Mouse Commands): Document + x-mouse-click-focus-ignore-position and mouse-drag-copy-region. + + * help.texi (Help Summary): Add `C-h .'. + (Apropos): Apropos accepts a list of search terms. + Document apropos-sort-by-scores. + (Help Echo): Document display-local-help. + + * misc.texi (Emacs Server): Document server-name. + (Invoking emacsclient): Document -s option for server names. + + * text.texi (Outline Visibility): Introduce "current heading + line" (commands can be called with point on a body line). + Re-order table to follow the sequence of discussion. + hide-body won't hide lines before first header line. + (TeX Mode): Add DocTeX mode. + +2005-03-24 Richard M. Stallman + + * mule.texi (Single-Byte Character Support): Delete mention + of iso-acc.el and iso-transl.el. + +2005-03-23 Lute Kamstra + + * search.texi (Non-ASCII Isearch): Rename from Non-Ascii Isearch. + +2005-03-23 Richard M. Stallman + + * search.texi: Delete explicit node pointers. + (Incremental Search): New menu. + (Basic Isearch, Repeat Isearch, Error in Isearch) + (Non-Ascii Isearch, Isearch Yank, Highlight Isearch, Isearch Scroll) + (Slow Isearch): New subnodes. + (Configuring Scrolling): Node deleted. + (Search Case): Doc default-case-fold-search. + (Regexp Replace): Move replace-regexp doc here. + + * rmail.texi (Movemail): Put commas inside closequotes. + + * picture.texi (Insert in Picture): Document C-c arrow combos. + (Basic Picture): Clarify erasure. + + * display.texi (Font Lock): Put commas inside closequotes. + + * cmdargs.texi (General Variables): Put commas inside closequotes. + +2005-03-23 Nick Roberts + + * building.texi (Stack Buffer): Mention reverse contrast for + *selected* frame (might not be current frame). + +2005-03-21 Richard M. Stallman + + * building.texi (Starting GUD): Add bashdb. + +2005-03-20 Chong Yidong + + * basic.texi (Moving Point): Add M-g M-g binding. + (Undo): Document undo-only. + (Position Info): Document M-g M-g and C-u M-g M-g. + + * building.texi (Building): Put Grep Searching after Compilation + Shell. + (Compilation Mode): Document M-n, M-p, M-}, M-{, and C-c C-f bindings. + Document next-error-highlight. + (Grep Searching): Document grep-highlight-matches. + (Lisp Eval): Typing C-x C-e twice prints integers specially. + + * calendar.texi (Importing Diary): Rename node from iCalendar. + Document diary-from-outlook. + + * dired.texi (Misc Dired Features): Rename node from Misc Dired + Commands. + Mention effect of X drag and drop on Dired buffers. + + * files.texi (Visiting): Document large-file-warning-threshold. + Move paragraph on file-selection dialog. + Mention visiting files using X drag and drop. + (Reverting): Mention using Auto-Revert mode to tail files. + Document auto-revert-tail-mode. + (Version Systems): Minor correction. + (Comparing Files): Diff-mode is no longer based on Compilation + mode. + Document compare-ignore-whitespace. + (Misc File Ops): Explain passing a directory to rename-file. + Likewise for copy-file and make-symbolic-link. + + * frames.texi (Wheeled Mice): Mouse wheel support on by default. + Document mouse-wheel-progressive speed. + + * help.texi (Misc Help): Document numeric argument for C-h i. + Correctly explain the effect of just C-u as argument. + + * killing.texi (Deletion): Document numeric argument for + just-one-space. + + * mini.texi (Completion): Completion acts on text before point. + + * misc.texi (Saving Emacs Sessions): Document desktop-restore-eager. + (Emulation): CUA mode replaces pc-bindings-mode, + pc-selection-mode, and s-region. + + * mule.texi (Input Methods): Leim is now built-in. + (Select Input Method): Document quail-show-key. + (Specify Coding): Document revert-buffer-with-coding-system. + + * programs.texi (Fortran Motion): Document f90-next-statement, + f90-previous-statement, f90-next-block, f90-previous-block, + f90-end-of-block, and f90-beginning-of-block. + + * text.texi (Format Faces): Replace old M-g key prefix with M-o. + + * emacs.texi (Acknowledgments): Updated. + + * anti.texi: Total rewrite. + +2005-03-19 Chong Yidong + + * ack.texi (Acknowledgments): Update. + +2005-03-19 Eli Zaretskii + + * anti.texi (Antinews): Refer to Emacs 21.4, not 21.3. Update + copyright years. + +2005-03-14 Nick Roberts + + * building.texi (Commands of GUD): Move paragraph on setting + breakpoints with mouse to the GDB Graphical Interface node. + +2005-03-07 Richard M. Stallman + + * misc.texi (Single Shell, Shell Options): Fix previous change. + + * building.texi (Debugger Operation): Update GUD tooltip enable info. + +2005-03-06 Richard M. Stallman + + * building.texi (Starting GUD): Don't explain text vs graphical + GDB here. Just mention it and xref. + Delete "just one debugger process". + (Debugger Operation): Move GUD tooltip info here. + (GUD Tooltips): Node deleted. + (GDB Graphical Interface): Explain the two GDB modes here. + + * sending.texi (Sending Mail): Minor cleanup. + (Mail Aliases): Explain quoting conventions. + Update key rebinding example. + (Header Editing): C-M-i is like M-TAB. + (Mail Mode Misc): mail-attach-file does not do MIME. + + * rmail.texi (Rmail Inbox): Move text from Remote Mailboxes + that really belongs here. + (Remote Mailboxes): Text moved to Rmail Inbox. + (Rmail Display): Mention Mouse-1. + (Movemail): Clarify two movemail versions. + Clarify rmail-movemail-program. + + * misc.texi (Single Shell): Replace uudecode example with gpg example. + Document async shell commands. + (Shell History): Clarify. + (Shell Ring): Mention C-UP an C-DOWN. + (Shell Options): Add comint-prompt-read-only. + (Invoking emacsclient): Set EDITOR to run Emacs. + (Sorting): No need to explain what region is. + (Saving Emacs Sessions): Fix typo. + (Recursive Edit): Fix punctuation. + (Emulation): Don't mention "PC bindings" which are standard. + (Hyperlinking): Explain Mouse-1 convention here. + (Find Func): Node deleted. + + * help.texi (Name Help): Xref to Hyperlinking. + + * glossary.texi (Glossary): + Rename "Balance Parentheses" to "Balancing...". + Add "Byte Compilation". Correct "Copyleft". + New xref in "Customization". + Clarify "Current Line", "Echoing", "Fringe", "Frame", "Speedbar". + Add "Graphical Terminal" "Keybinding", "Margin", "Window System". + Rename "Registers" to "Register". + Replace "Selecting" with "Selected Frame", + "Selected Window", and "Selecting a Buffer". + + * files.texi (Types of Log File): Explain how projects' + methods can vary. + + * display.texi (Faces): Delete "Emacs 21". + + * custom.texi (Changing a Variable): C-M-i like M-TAB. + * fixit.texi (Spelling): C-M-i like M-TAB. + * mini.texi (Completion Options): C-M-i like M-TAB. + * programs.texi (Symbol Completion): C-M-i like M-TAB. + * text.texi (Text Mode): C-M-i like M-TAB. + + * commands.texi (Keys): Mention F1 and F2 in list of prefixes. + + * calendar.texi (Specified Dates): Mention `g w'. + (Appointments): appt-activate toggles with no arg. + +2005-03-05 Juri Linkov + + * cmdargs.texi (Emacs Invocation): Add cindex + "invocation (command line arguments)" + (Misc X): Add -nbc, --no-blinking-cursor. + +2005-03-04 Ulf Jasper + + * calendar.texi (iCalendar): No need to require it now. + +2005-03-03 Nick Roberts + + * trouble.texi (Contributing): Mention Savannah. Direct users to + emacs-devel. + +2005-03-01 Glenn Morris + + * calendar.texi (Adding to Diary): Mention redrawing of calendar + window. + +2005-02-27 Richard M. Stallman + + * building.texi (Compilation): Update mode line status info. + +2005-02-27 Matt Hodges + + * calendar.texi (General Calendar): Document binding of + scroll-other-window-down. + (Mayan Calendar): Fix earliest date. + (Time Intervals): Document timeclock-change. + Fix timeclock-ask-before-exiting documentation. + +2005-02-26 Kim F. Storm + + * frames.texi (Mouse References): + Add mouse-1-click-in-non-selected-windows. + +2005-02-25 Richard M. Stallman + + * screen.texi (Screen): Explain better about cursors and mode lines; + don't presuppose text terminals. + (Point): Don't assume just one cursor. + Clarify explanation of cursors. + (Echo Area, Menu Bar): Cleanups. + + * mini.texi (Minibuffer): Prompts are highlighted. + (Minibuffer Edit): Newline = C-j only on text terminals. + Clarify resize-mini-windows values. + Mention M-PAGEUP and M-PAGEDOWN. + (Completion Commands): Mouse-1 like Mouse-2. + (Minibuffer History): Explain history commands better. + (Repetition): Add xref to Incremental Search. + + * mark.texi (Setting Mark): Clarify info about displaying mark. + Clarify explanation of C-@ and C-SPC. + (Transient Mark): Mention Delete Selection mode. + (Marking Objects): Clean up text about extending the region. + + * m-x.texi (M-x): One C-g doesn't always go to top level. + No delay before suggest-key-bindings output. + + * fixit.texi (Fixit): Mention C-/ for undo. + (Spelling): Mention ESC TAB like M-TAB. + Replacement words with r and R are rechecked. + Say where C-g leaves point. Mention ? as input. + +2005-02-23 Lute Kamstra + + * cmdargs.texi (Initial Options): Add cross reference. + +2005-02-16 Luc Teirlinck + + * emacs.texi (Top): Update menu for splitting of node in + msdog.texi. + * frames.texi (Frames): Update xref for splitting of node in + msdog.texi. + * trouble.texi (Quitting): Ditto. + +2005-02-16 Richard M. Stallman + + * windows.texi (Split Window): Simplify line truncation info + and xref to Display Custom. + + * trouble.texi (Quitting): Emergency escape only for text terminal. + (Screen Garbled): C-l for ungarbling is only for text terminal. + + * text.texi (Text Mode): ESC TAB alternative for M-TAB. + + * sending.texi (Header Editing): ESC TAB alternative for M-TAB. + + * programs.texi (Program Modes): Mention Python mode. + (Moving by Defuns): Repeating C-M-h extends region. + (Basic Indent): Clarify. + (Custom C Indent): Clarify. + (Expressions): Repeating C-M-@ extends region. + (Info Lookup): Clarify for C-h S. + (Symbol Completion): ESC TAB alternative for M-TAB. + (Electric C): Clarify. + + * emacs.texi (Top): Update display.texi and frames.texi submenu data. + + * msdog.texi (MS-DOS Keyboard, MS-DOS Mouse): Split from + MS-DOS Input node. + (MS-DOS Keyboard): Start with explaining DEL and BREAK. + (MS-DOS and MULE): Clarify. + (MS-DOS Processes, Windows Processes): Fix typos. + + * major.texi (Choosing Modes): Clarify. + + * kmacro.texi (Basic Keyboard Macro): Doc F3, F4. + (Keyboard Macro Step-Edit): Clarify. + + * indent.texi (Indentation): Clarifications. + + * help.texi (Help): Correct error about C-h in query-replace. + Clarify apropos vs C-h a. Fix how to search in FAQ. + (Key Help): Describe C-h w here. + (Name Help): Minor cleanup. C-h w moved to Key Help. + Clarify the "object" joke. + (Apropos): Clarify. Mouse-1 like Mouse-2. + (Help Mode): Mouse-1 like Mouse-2. + + * fixit.texi (Spelling): Mention ESC TAB as alt. for M-TAB. + + * display.texi (Display): Reorder menu. + (Faces): Cleanup. + (Font Lock): Cleanup. Mention Options menu. + Delete obsolete text. + (Scrolling): For C-l, don't presume text terminal. + (Horizontal Scrolling): Simplify intro. + (Follow Mode): Clarify. + (Cursor Display): Moved before Display Custom. + (Display Custom): Explain no-redraw-on-reenter is for text terminals. + Doc default-tab-width. Doc line truncation more thoroughly. + + * dired.texi (Dired Enter): C-x C-f can run Dired. + (Dired Visiting): Comment out `a' command. + Mouse-1 is like Mouse-2. + (Shell Commands in Dired): ? can be used more than once. + + * basic.texi (Continuation Lines): Simplify description of truncation, + and refer to Display Custom for the rest of it. + +2005-02-06 Lute Kamstra + + * basic.texi (Undo): Fix typo. + + * cmdargs.texi (Emacs Invocation): Fix typo. + + * custom.texi (Init Examples): Fix typo. + + * abbrevs.texi (Expanding Abbrevs): Fix typo. + +2005-02-06 Richard M. Stallman + + * regs.texi (Registers): Registers can hold numbers, too. + + * killing.texi (Other Kill Commands): Cleanup. + Delete redundant explanation of kill in read-only buffer. + (Yanking): Mention term "copying". + (Accumulating Text): Fix typo. + + * entering.texi (Entering Emacs): Update rationale at start. + (Exiting): Treat iconifying on a par with suspension. + + * custom.texi (Minor Modes): Fix typo. + (Easy Customization): Fix menu style. + (Variables): Add xref. + (Examining): Setting for future sessions works through .emacs. + (Keymaps): "Text terminals", not "Many". + (Init Rebinding): Explain \C-. Show example of \M-. + Fix minor wording errors. + (Function Keys): Explain vector syntax just once. + (Named ASCII Chars): Clarify history of TAB/C-i connection. + (Init File): Mention .emacs.d directory. + (Init Examples): Add xref. + (Find Init): Mention .emacs.d directory. + + * cmdargs.texi (Emacs Invocation): +LINENUM is also an option. + (Action Arguments): Explain which kinds of -l args are found how. + (Initial Options): --batch does not inhibit site-start. + Add xrefs. + (Command Example): Use --batch, not -batch. + + * basic.texi (Inserting Text): Cleanup wording. + (Moving Point): Doc PRIOR, PAGEUP, NEXT, PAGEDOWN more systematically. + C-n is not error at end of buffer. + (Undo): Doc C-/ like C-_. Add xrefs. + (Arguments): META key may be labeled ALT. + Peculiar arg meanings are explained in doc strings. + + * abbrevs.texi (Expanding Abbrevs): Clarify. + +2005-02-05 Eli Zaretskii + + * frames.texi (Frame Parameters): Add an xref to the description + of list-colors-display. Add a pointer to the X docs about colors. + + * cmdargs.texi (Colors): Mention 16-, 88- and 256-color modes. + Impove docs of list-colors-display. + +2005-02-03 Lute Kamstra + + * frames.texi (Frames, Drag and Drop): Fix typos. + +2005-02-03 Richard M. Stallman + + * windows.texi (Basic Window): Mention color-change in mode line. + (Change Window): Explain dragging vertical boundaries. + + * text.texi (Sentences): Clarify. + (Paragraphs): Explain M-a and blank lines. + (Outline Mode): Clarify text and menu. + (Hard and Soft Newlines): Mention use-hard-newlines. + + * frames.texi (Frames): Delete unnecessary mention of Windows. + (Mouse Commands): Likewise. Mention xterm mouse support. + (Clipboard): Clarify. + (Mouse References): Mention use of Mouse-1 for following links. + (Menu Mouse Clicks): Clarify. + (Mode Line Mouse): Clarify. + (Drag and Drop): Rewrite. + + * fixit.texi (Spelling): Fix typo. + + * files.texi (File Names): Clarify. + (Visiting): Update conditions for use of file dialog. Clarify. + (Saving): Doc d as answer in save-some-buffers. + (Remote Files): Clean up the text. + + * dired.texi (Misc Dired Commands): Delete dired-marked-files. + + * buffers.texi (Select Buffer): Doc next-buffer and prev-buffer. + (List Buffers): Clarify. + (Several Buffers): Doc T command. + (Buffer Convenience): Clarify menu. + + * basic.texi (Undo): Clarify last change. + +2005-02-02 Matt Hodges + + * fixit.texi (Spelling): Fix typo. + +2005-02-01 Luc Teirlinck + + * basic.texi (Undo): Update description of `undo-outer-limit'. + +2005-02-01 Nick Roberts + + * building.texi: Update documentation relating to GDB Graphical + Interface. + +2005-01-30 Luc Teirlinck + + * custom.texi (Easy Customization): Adapt menu to node name change. + +2005-01-30 Richard M. Stallman + + * custom.texi (Easy Customization): Defn of "User Option" now + includes faces. Don't say just "option" when talking about variables. + Do say just "options" to mean "anything customizable". + (Specific Customization): Describe `customize-variable', + not `customize-option'. + + * glossary.texi (Glossary) : Add xref. + : Change definition--include faces. Change xref. + + * picture.texi (Picture): Mention artist.el. + + * sending.texi, screen.texi, programs.texi, misc.texi: + * mini.texi, major.texi, maintaining.texi, macos.texi: + * help.texi, frames.texi, files.texi: + Don't say just "option" when talking about variables. + + * display.texi, mule.texi: Don't say just "option" when talking + about variables. Other minor cleanups. + +2005-01-26 Lute Kamstra + + * cmdargs.texi (Initial Options): Add a cross reference to `Init + File'. Mention the `-Q' option at the `--no-site-file' option. + +2005-01-22 David Kastrup + + * building.texi (Grep Searching): Mention alias `find-grep' for + `grep-find'. + +2005-01-20 Richard M. Stallman + + * calendar.texi (Time Intervals): Delete special stuff for MS-DOS. + +2005-01-15 Sergey Poznyakoff + + * rmail.texi (Movemail): Explain differences + between standard and mailutils versions of movemail. + Describe command line and configuration options introduced + with the latter. + Explain the notion of mailbox URL, provide examples and + cross-references to mailutils documentation. + Describe various methods of specifying mailbox names, + user names and user passwords for rmail. + (Remote Mailboxes): New section. Describe + how movemail handles remote mailboxes. Describe configuration + options used to control its behavior. + (Other Mailbox Formats): Explain handling of various mailbox + formats. + +2005-01-13 Richard M. Stallman + + * commands.texi (Commands): Clarification. + +2005-01-11 Richard M. Stallman + + * programs.texi (Multi-line Indent): Fix previous change. + (Fortran Autofill): Simplify description of fortran-auto-fill-mode. + +2005-01-08 Richard M. Stallman + + * display.texi (Faces): isearch-lazy-highlight-face renamed to + lazy-highlight. + + * search.texi (Query Replace): Mention faces query-replace + and lazy-highlight. + (Incremental Search): Update isearch highlighting info. + +2005-01-04 Richard M. Stallman + + * custom.texi (Saving Customizations): Minor improvement. + +2005-01-03 Luc Teirlinck + + * custom.texi (Saving Customizations): Emacs no longer loads + `custom-file' after .emacs. No longer mention customizing through + Custom. + +2005-01-01 Andreas Schwab + + * killing.texi (Graphical Kill): Move up under node Killing, + change @section to @subsection. + +2005-01-01 Richard M. Stallman + + * custom.texi (Face Customization): Mention hex color specs. + + * emacs.texi (Top): Update Killing submenu. + + * killing.texi (Killing): Reorganize section. + No more TeX-only text; put the node command at start of chapter. + But the first section heading is used only in TeX. + Rewrite the text to read better in this mode. + (Graphical Kill): New subnode gets some of the text that + used to be in the first section. + +2004-12-31 Richard M. Stallman + + * dired.texi (Shell Commands in Dired): Delete the ? example. + + * display.texi (Scrolling): Correct scroll-preserve-screen-position. + + * files.texi (Saving): Describe new require-final-newline features + and mode-require-final-newline. + +2004-12-29 Richard M. Stallman + + * custom.texi (File Variables): Clarify previous change. + +2004-12-27 Jan Dj,Ad(Brv + + * frames.texi (Dialog Boxes): Mention Gtk+ 2.6 also, as that version is + out now. + +2004-12-27 Richard M. Stallman + + * Makefile.in (MAKEINFO): Specify --force. + + * basic.texi (Moving Point): C-e now runs move-end-of-line. + (Undo): Doc undo-outer-limit. + +2004-12-15 Juri Linkov + + * mark.texi (Transient Mark, Mark Ring): M-< and other + movement commands don't set mark in Transient Mark mode + if mark is active. + +2004-12-12 Juri Linkov + + * misc.texi (FFAP): Add C-x C-r, C-x C-v, C-x C-d, + C-x 4 r, C-x 4 d, C-x 5 r, C-x 5 d. + + * dired.texi (Dired Navigation): Add @r{(Dired)} to M-g. + (Misc Dired Commands): Add @r{(Dired)} to w. + +2004-12-12 Juri Linkov + + * mark.texi (Marking Objects): Marking commands also extend the + region when mark is active in Transient Mark mode. + +2004-12-08 Luc Teirlinck + + * custom.texi (Saving Customizations): Emacs only loads the custom + file automatically after the init file in version 22.1 or later. + Adapt text and examples to this fact. + +2004-12-07 Luc Teirlinck + + * frames.texi (Scroll Bars): The option `scroll-bar-mode' has to + be set through Custom. Otherwise, it has no effect. + +2004-12-05 Richard M. Stallman + + * cmdargs.texi, doclicense.texi, xresources.texi, emacs.texi: + * entering.texi: Rename Command Line to Emacs Invocation. + + * misc.texi (Term Mode): Correcty describe C-c. + + * custom.texi (Easy Customization): Move up to section level, + before Variables. Avoid using the term "variable"; say "option". + New initial explanation. + (Variables): In initial explanation, connect "variable" to the + already-explained "user option". + + * emacs.texi (Top): Fix ref to Command Line. + Move reference to Easy Customization. + + * xresources.texi (X Resources): Fix From link. + + * doclicense.texi (GNU Free Documentation License): Fix To link. + + * entering.texi (Entering Emacs): Fix xref, now to Command Line. + + * cmdargs.texi (Command Line): Node renamed from Command Arguments. + +2004-12-03 Richard M. Stallman + + * cmdargs.texi (Initial Options): Clarify batch mode i/o. + +2004-12-01 Luc Teirlinck + + * kmacro.texi: Several small changes in addition to the following. + (Keyboard Macro Ring): Describe behavior of `C-x C-k C-k' when + defining a keyboard macro. + Mention `kmacro-ring-max'. + (Keyboard Macro Counter): Clarify description of + `kmacro-insert-counter', `kmacro-set-counter', + `kmacro-add-counter' and `kmacro-set-format'. + +2004-11-29 Reiner Steib + + * custom.texi (File Variables): Add `unibyte' and make it more + clear that `unibyte' and `coding' are special. Suggested by Simon + Krahnke . + + * mule.texi (Enabling Multibyte): Refer to File Variables. + Suggested by Simon Krahnke . + +2004-11-26 Jan Dj,Ad(Brv + + * frames.texi (Dialog Boxes): Rename use-old-gtk-file-dialog to + x-use-old-gtk-file-dialog. + +2004-11-20 Richard M. Stallman + + * text.texi (Fill Prefix): M-q doesn't apply fill prefix to first line. + +2004-11-09 Lars Brinkhoff + + * building.texi (Lisp Eval): Delete hyphen in section name. + +2004-11-19 Thien-Thi Nguyen + + * files.texi (Old Versions): + No longer document annotation as "CVS only". + +2004-11-10 Andre Spiegel + + * files.texi (Version Control): Rewrite the introduction about + version systems, mentioning the new ones that we support. Thanks + to Alex Ott, Karl Fogel, Stefan Monnier, and David Kastrup for + suggestions. + +2004-11-03 Jan Dj,Ad(Brv + + * frames.texi (Dialog Boxes): Replace non-nil with non-@code{nil}. + +2004-11-02 Jan Dj,Ad(Brv + + * frames.texi (Dialog Boxes): Document use-old-gtk-file-dialog. + +2004-10-23 Eli Zaretskii + + * text.texi (Text Based Tables, Table Definition) + (Table Creation, Table Recognition, Cell Commands) + (Cell Justification, Row Commands, Column Commands) + (Fixed Width Mode, Table Conversion, Measuring Tables) + (Table Misc): New nodes, documenting the Table Mode. + +2004-10-19 Jason Rumney + + * makefile.w32-in (info): Change order of arguments to makeinfo. + +2004-10-19 Ulf Jasper + + * calendar.texi (iCalendar): Update for package changes. + +2004-10-09 Luc Teirlinck + + * files.texi (Misc File Ops): View mode is a minor mode. + +2004-10-08 Glenn Morris + + * calendar.texi (iCalendar): Style changes. + +2004-10-07 Luc Teirlinck + + * search.texi (Regexps): The regexp described in the example is no + longer stored in the variable `sentence-end'. + +2004-10-06 Nick Roberts + + * building.texi (Starting GUD): Note that multiple debugging + sessions requires `gdb --fullname'. + +2004-10-05 Ulf Jasper + + * calendar.texi (iCalendar): New section for a new package. + +2004-10-05 Luc Teirlinck + + * text.texi: Various small changes in addition to the following. + (Text): Replace xref for autotype with inforef. + (Sentences): Explain nil value for `sentence-end'. + (Paragraphs): Update default values for `paragraph-start' and + `paragraph-separate'. + (Text Mode): Correct description of Text mode's effect on the + syntax table. + (Outline Visibility): `hide-other' does not hide top level headings. + `selective-display-ellipses' no longer has an effect on Outline mode. + (TeX Misc): Add missing @cindex. + Replace xref for RefTeX with inforef. + (Requesting Formatted Text): The variable + `enriched-fill-after-visiting' no longer exists. + (Editing Format Info): Update names of menu items and commands. + (Format Faces): Mention special effect of specifying the default face. + Describe inheritance of text properties. + Correct description of `fixed' face. + (Format Indentation): Correct description of effect of setting + margins. Mention `set-left-margin' and `set-right-margin'. + (Format Justification): Update names of menu items. + `set-justification-full' is now bound to `M-j b'. + Mention that `default-justification' is a per buffer variable. + (Format Properties): Update name of menu item. + (Forcing Enriched Mode): `format-decode-buffer' automatically + turns on Enriched mode if the buffer is in text/enriched format. + +2004-10-05 Emilio C. Lopes + + * calendar.texi (From Other Calendar): Add calendar-goto-iso-week. + +2004-09-28 Kim F. Storm + + * display.texi (Display Custom) : + Align with new functionality. + +2004-09-22 Luc Teirlinck + + * display.texi (Display Custom): Remove stray `@end defvar'. + +2004-09-23 Kim F. Storm + + * display.texi (Display Custom): Add `overflow-newline-into-fringe', + `indicate-buffer-boundaries' and `default-indicate-buffer-boundaries'. + +2004-09-20 Richard M. Stallman + + * custom.texi (Hooks): Explain using setq to clear out a hook. + (File Variables): Explain multiline string constants. + (Non-ASCII Rebinding): Explain when you need to update + non-ASCII char codes in .emacs. + + * building.texi (Compilation): Explain how to make a silent + subprocess that won't be terminated. Explain compilation-environment. + +2004-09-13 Kim F. Storm + + * mini.texi (Repetition): Rename isearch-resume-enabled to + isearch-resume-in-command-history and change default to disabled. + +2004-09-09 Kim F. Storm + + * kmacro.texi (Save Keyboard Macro): Replace `name-last-kbd-macro' + with new `kmacro-name-last-macro'. + +2004-09-08 Juri Linkov + + * mini.texi (Minibuffer History): Add `history-delete-duplicates'. + +2004-09-03 Juri Linkov + + * search.texi (Incremental Search): Update wording for M-%. + +2004-09-02 Luc Teirlinck + + * killing.texi (Killing): Correct description of kill commands in + read-only buffer. + +2004-09-02 Teodor Zlatanov + + * building.texi (Compilation Mode): Add a paragraph about rules + for finding the compilation buffer for `next-error'. + + * search.texi (Other Repeating Search): Mention that Occur mode + supports the next-error functionality. + +2004-09-02 Juri Linkov + + * search.texi (Regexp Replace): Add missing backslash to \footnote. + +2004-08-31 Luc Teirlinck + + * kmacro.texi (Basic Keyboard Macro): + `apply-macro-to-region-lines' now operates on all lines that begin + in the region, rather than on all complete lines in the region. + +2004-08-31 Jan Dj,Ad(Brv + + * frames.texi (Drag and drop): Add documentation about + x-dnd-test-function and x-dnd-known-types. + +2004-08-30 Luc Teirlinck + + * indent.texi: Various minor changes in addition to: + (Indentation Commands): Correct description of `indent-relative'. + (Tab Stops): is no longer bound to `tab-to-tab-stop' in Text + mode. The *Tab Stops* buffer uses Overwrite Mode. + (Just Spaces): `tabify' converts sequences of at least two spaces + to tabs. + +2004-08-27 Luc Teirlinck + + * frames.texi (Secondary Selection): Setting the secondary + selection with M-Drag-Mouse-1 does not alter the kill ring, + setting it with M-Mouse-1 and M-Mouse-3 does. + (Mode Line Mouse): C-Mouse-2 on scroll bar now also works for + toolkit scroll bars. + (Scroll Bars): Ditto. + + * windows.texi (Basic Window): When using a window system, the value + of point in a non-selected window is indicated by a hollow box. + (Split Window): Side by side windows are separated by a scroll bar, + if scroll bars are used. + C-Mouse-2 on scroll bar now also works for toolkit scroll bars. + (Change Window): Correct Mouse-2 vs Mouse-3 mess-up. + (Window Convenience): Update bindings for `winner-undo' and + `winner-redo'. + + * ack.texi (Acknowledgments): Use `@unnumbered'. + * misc.texi : Adapt sectioning in Info to the node structure. + (Invoking emacsclient): Make "Invoking emacsclient" a subsection + of "Using Emacs as a Server". + * building.texi (Building): Interchange nodes (for correct numbering). + * programs.texi (Programs): Interchange nodes (for correct numbering). + * killing.texi, entering.texi, commands.texi: Adapt sectioning in + Info to the node structure. + * emacs.texi: Make "GNU GENERAL PUBLIC LICENSE" an appendix. + Rearrange order of nodes and sections such that both "GNU GENERAL + PUBLIC LICENSE" and "GNU Free Documentation License" appear at the + end, as appropriate for appendices. + (Acknowledgments): Put inside @iftex instead of @ifnotinfo. + Use `@unnumberedsec'. + * trouble.texi: Adapt sectioning in Info to the node structure. + Adapt node pointers to change in emacs.texi. + * cmdargs.texi, doclicense.texi: Adapt node pointers. + +2004-08-25 Kenichi Handa + + * custom.texi (Non-ASCII Rebinding): Fix and simplify the + description for unibyte mode. + +2004-08-23 Luc Teirlinck + + * display.texi (Font Lock): Correct invalid (for hardcopy) @xref. + + * search.texi (Regexps): Correct cryptic (in hardcopy) @ref. + (Configuring Scrolling): Correct invalid (for hardcopy) @xref. + (Regexp Replace): Standardize reference to hardcopy Elisp Manual + in @pxref. + +2004-08-22 Luc Teirlinck + + * kmacro.texi (Keyboard Macro Counter, Keyboard Macro Step-Edit): + Change section names. + +2004-08-21 Luc Teirlinck + + * kmacro.texi (Keyboard Macro Ring): Rename section. + Emacs treats the head of the macro ring as the `last keyboard macro'. + (Keyboard Macro Counter): Minor change. + (Save Keyboard Macro): Some clarifications. + (Edit Keyboard Macro): Rename section. + + * buffers.texi (Buffers): Maximum buffer size is now 256M on + 32-bit machines. + (Several Buffers): Clarify which buffer is selected if `2' is + pressed in the Buffer Menu. + Auto Revert mode can be used to update the Buffer Menu + automatically. + +2004-08-21 Eli Zaretskii + + * help.texi (Misc Help): Add an index entry for finding an Info + manual by its file name. + +2004-08-20 Luc Teirlinck + + * files.texi (Backup Deletion): Correct description of + `delete-old-versions'. + (Time Stamps): `time-stamp' needs to be added to `before-save-hook'. + (Auto Save Files): Recommend `auto-save-mode' to reenable + auto-saving, rather than the abbreviation `auto-save'. + +2004-08-17 Luc Teirlinck + + * emacs.texi (Top): Mention "cutting" and "pasting" as synonyms + for "killing" and "yanking" in main menu. + +2004-08-16 Richard M. Stallman + + * killing.texi (Yanking, Killing): Minor cleanups. + + * mark.texi (Momentary Mark): Minor cleanups. + +2004-08-15 Kenichi Handa + + * custom.texi (Non-ASCII Rebinding): + C-q always inserts the right code to pass to global-set-key. + +2004-08-13 Luc Teirlinck + + * regs.texi (RegNumbers): Mention `C-x r i' binding for + `insert-register', instead of `C-x r g' binding, for consistency. + +2004-08-12 Luc Teirlinck + + * fixit.texi (Spelling): Fix typo. + +2004-08-11 Luc Teirlinck + + * help.texi (Help): Fix Texinfo usage. + +2004-07-24 Richard M. Stallman + + * text.texi (Paragraphs): Update how paragraphs are separated + and the default for paragraph-separate. + + * search.texi (Regexp Replace): Further update text for new + replacement operators. + +2004-07-18 Luc Teirlinck + + * emacs-xtra.texi (Subdir switches): Dired does not remember the + `R' switch. + + * dired.texi (Dired Updating): `k' only deletes inserted + subdirectories from the Dired buffer if a prefix argument was given. + + * search.texi (Regexps): Delete redundant definition of `symbol' in + description of `\_>'. It already occurs in the description of `\_<'. + +2004-07-01 Juri Linkov + + * search.texi (Incremental Search): Add C-M-w, C-M-y, M-%, C-M-%, M-e. + (Regexp Search): Add M-r. + +2004-06-30 Luc Teirlinck + + * makefile.w32-in (EMACSSOURCES): Remove emacs-xtra. + +2004-06-29 Jesper Harder + + * search.texi, calendar.texi: Markup fixes. + +2004-06-25 Richard M. Stallman + + * search.texi (Regexp Replace): Rewrite description of \# \, and \?. + +2004-06-25 David Kastrup + + * search.texi (Regexp Replace): Some typo corrections and + rearrangement. + +2004-06-24 David Kastrup + + * search.texi (Unconditional Replace): Use replace-string instead + of query-replace in example. + (Regexp Replace): Add explanations for `\,', `\#' and `\?' + sequences. + (Query Replace): Correct explanation of `^' which does not use + the mark stack. + +2004-06-21 Nick Roberts + + * misc.texi (Shell History Copying): Document comint-insert-input. + (Shell Ring): Describe comint-dynamic-list-input-ring here. + +2004-06-20 Jesper Harder + + * msdog.texi (Text and Binary, MS-DOS Printing): Use m-dash. + * custom.texi (Customization): Do. + * anti.texi (Antinews): Do. + * abbrevs.texi (Defining Abbrevs): Do. + + * programs.texi (Info Lookup): Fix keybinding for + info-lookup-symbol. + +2004-06-16 Juanma Barranquero + + * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, EMACSSOURCES): + Add emacs-xtra. + ($(infodir)/emacs-xtra, emacs-xtra.dvi): New dependencies. + (clean): Add emacs-xtra and flymake. Remove redundancies. + +2004-06-15 Luc Teirlinck + + * Makefile.in (INFO_TARGETS, DVI_TARGETS, ../info/emacs-xtra): + Add emacs-xtra. + * emacs-xtra.texi: New file. + +2004-06-14 Luc Teirlinck + + * dired.texi (Dired Enter): Mention conditions on `ls' switches. + (Dired and Find): Mention differences with ordinary Dired buffers. + +2004-06-13 Richard M. Stallman + + * custom.texi (Init Syntax): Explain about vars that do special + things when set with setq or with Custom. + (Init Examples): Add line-number-mode example. + +2004-06-12 Juri Linkov + + * dired.texi (Operating on Files): Add dired-do-touch. + +2004-06-10 Juri Linkov + + * building.texi (Lisp Eval): Add C-M-x on defface. + +2004-06-08 Luc Teirlinck + + * files.texi (Reverting): Auto-Revert mode and + Global Auto-Revert mode no longer revert remote files. + +2004-05-29 Richard M. Stallman + + * custom.texi (Init File): Two dashes start --no-site-file. + +2004-05-29 Alan Mackenzie + + * programs.texi: Update for CC Mode 5.30 and incidental amendments. + ("AWK"): Is consistently thus spelt throughout. + (AWK, Pike): Document as "C-like modes". + (@kbd{M-j}): Document as alternative to @kbd{C-M-j}. + (M-x man): Supersedes M-x manual-entry. + Add numerous index entries. Correct "ESC a/e" to "M-a/e". + + ("Comments in C"): Delete node; the info is in CC Mode manual. + (c-comment-only-line-offset): Remove description. + + (C-c ., C-c C-c): Describe new C Mode bindings. + + (C-u TAB, indent-code-rigidly, c-indent-exp, c-tab-always-indent) + (@dfn{Style}, c-default-style, comment-column, comment-padding) + (c-up-conditional, c-beginning-of-statement, c-end-of-statement): + Amend definitions. + + (c-beginning-of-defun, c-end-of-defun, c-context-line-break): + Describe functions. + + (c-comment-start-regexp, c-hanging-comment-ender-p) + (c-hanging-comment-starter-p): Remove obsolete definitions. + + * emacs.texi: Remove the menu entry "Comments in C". + +2004-05-27 Luc Teirlinck + + * dired.texi (Dired and Find): `find-ls-option' does not apply to + `M-x locate'. + +2004-05-16 Karl Berry + + * emacs.texi (ack.texi) [@ifnottex]: Change condition; with @ifinfo, + makeinfo --html fails. + * help.texi (Help Summary) [@ifnottex]: Likewise. + +2004-05-13 Nick Roberts + + * building.texi (GDB Graphical Interface): Update and describe + layout first. + +2004-05-04 Jason Rumney + + * makefile.w32-in: Revert last change. + +2004-05-03 Jason Rumney + + * makefile.w32-in (MULTI_INSTALL_INFO, ENVADD): Use forward slashes. + +2004-04-23 Juanma Barranquero + + * makefile.w32-in: Add "-*- makefile -*-" mode tag. + +2004-04-18 Juri Linkov + + * fixit.texi (Spelling): Remove file extension from ispell xref. + +2004-04-15 Kim F. Storm + + * cmdargs.texi (Initial Options): Add -Q. + +2004-04-05 Kim F. Storm + + * custom.texi (File Variables): Add safe-local-eval-forms. + +2004-04-02 Luc Teirlinck + + * files.texi (Reverting): Correct description of revert-buffer's + handling of point. + +2004-03-22 Juri Linkov + + * emacs.texi (Top): Add `Misc X'. + + * trouble.texi: Fix help key bindings. + + * glossary.texi: Improve references. + + * help.texi: Sync keywords with finder.el. + + * mini.texi (Completion): Add description for menu items. + + * misc.texi (Browse-URL, FFAP): Add information about keywords. + + * sending.texi (Mail Methods): Fix xref to Message manual. + +2004-03-12 Richard M. Stallman + + * buffers.texi (Misc Buffer): Add index entry for rename-uniquely. + +2004-03-04 Richard M. Stallman + + * search.texi (Regexps): Explain that ^ and $ have their + special meanings only in certain contexts. + + * programs.texi (Expressions): Doc C-M-SPC as alias for C-M-@. + + * mule.texi (Specify Coding): Doc C-x RET F. + + * buffers.texi (Misc Buffer): Explain use of M-x rename-uniquely + for multiple compile and grep buffers. + (Indirect Buffers): Don't recommand clone-indirect-buffer + for multiple compile and grep buffers. + +2004-02-29 Juanma Barranquero + + * makefile.w32-in (mostlyclean, clean, maintainer-clean): + Use $(DEL) instead of rm, and ignore exit code. + +2004-02-23 Nick Roberts + + * building.texi (Watch Expressions): Update. + +2004-02-21 Juri Linkov + + * cmdargs.texi (Action Arguments): Add alias --find-file. Add + --directory, --help, --version. Move text about command-line-args + to Command Arguments. + (Initial Options): Add @cindex for --script. Fix @cindex for -q. + Add --no-desktop. Add alias --no-multibyte, --no-unibyte. + (Window Size X): Join -g and --geometry. Add @cindex. + (Borders X): Fix @cindex for -ib. Add @cindex for -bw. + (Title X): Remove alias -title. + (Misc X): New node. + +2004-02-15 Jan Dj,Ad(Brv + + * frames.texi (Drag and drop): Add Motif to list of supported + protocols. + +2004-02-03 Jan Dj,Ad(Brv + + * frames.texi (Drag and drop): New section. + +2004-01-24 Richard M. Stallman + + * emacs.texi (Acknowledgments): Renamed from Acknowledgements. + Include it only @ifnotinfo. Patch the preceding and following + node headers to point to each other. + +2004-01-11 Glenn Morris + + * calendar.texi (Appointments): Update section. + +2003-12-29 Kevin Ryde + + * programs.texi (C Modes): Fix the xref. + +2003-12-23 Nick Roberts + + * building.texi (Watch Expressions): Update. + (Commands of GUD): Include use of toolbar + breakpoints set from + fringe/margin. + +2003-12-03 Andre Spiegel + + * files.texi: Say how to disable VC. Suggested by Alan Mackenzie + . + +2003-11-29 Jan Dj,Ad(Brv + + * frames.texi (Dialog Boxes): Add use-file-dialog. + +2003-11-22 Martin Stjernholm + + * ack.texi: Note that Alan Mackenzie contributed the AWK support + in CC Mode. + +2003-11-02 Jesper Harder (tiny change) + + * man/ack.texi, man/basic.texi, man/cmdargs.texi: + * man/commands.texi, man/custom.texi, man/display.texi: + * man/emacs.texi, man/files.texi: + * man/frames.texi, man/glossary.texi, man/killing.texi: + * man/macos.texi, man/mark.texi, man/misc.texi, man/msdog.texi: + * man/mule.texi, man/rmail.texi, man/search.texi: + * man/sending.texi, man/text.texi, man/trouble.texi: + Replace @sc{ascii} and ASCII with @acronym{ASCII}. + +2003-11-01 Alan Mackenzie + + * search.texi (Scrolling During Incremental Search): Document a + new scrolling facility in isearch mode. + +2003-10-22 Miles Bader + + * Makefile.in (info): Move before $(top_srcdir)/info. + +2003-10-22 Nick Roberts + + * building.texi (Watch Expressions): Update section on data display + to reflect code changes (GDB Graphical Interface). + +2003-10-13 Richard M. Stallman + + * xresources.texi (GTK resources): Clean up previous change. + +2003-10-12 Jan Dj,Ad(Brv + + * xresources.texi (GTK resources): Add a note that some themes + disallow customizations. Add scroll theme example. + +2003-09-30 Richard M. Stallman + + * cmdargs.texi (General Variables): Remove MAILRC envvar. + + * misc.texi (Saving Emacs Sessions): Shorten the section, + collapsing back into one node. + +2003-09-30 Lars Hansen + + * misc.texi: Section "Saving Emacs Sessions" rewritten. + +2003-09-29 Jan Dj,Ad(Brv. + + * xresources.texi (GTK names in Emacs): Correct typo. + +2003-09-24 Luc Teirlinck + + * cmdargs.texi (Font X): Mention new default font. More + fully describe long font names, wildcard patterns and the + problems involved. (Result of discussion on emacs-devel.) + +2003-09-22 Luc Teirlinck + + * emacs.texi (Acknowledgements): Correct typo. + +2003-09-22 Richard M. Stallman + + * dired.texi (Misc Dired Commands): New node. + (Dired Navigation): Add dired-goto-file. + + * files.texi (File Aliases, Misc File Ops): Add @cindex entries. + + * emacs.texi (Acknowledgements): New node, split from Distribution. + + * cmdargs.texi (Action Arguments): -f reads interactive args. + +2003-09-08 Lute Kamstra + + * screen.texi (Mode Line): Say that POS comes before LINE. + Mention `size-indication-mode'. + * display.texi (Optional Mode Line): Document + `size-indication-mode'. + * basic.texi (Position Info): Mention `size-indication-mode'. + +2003-09-07 Luc Teirlinck + + * xresources.texi (Resources): Refer to `editres' man page. + (Lucid Resources): Update defaults. Expand description of + `shadowThickness'. + +2003-09-04 Miles Bader + + * Makefile.in (top_srcdir): New variable. + ($(top_srcdir)/info): New rule. + (info): Depend on it. + +2003-09-03 Peter Runestig + + * makefile.w32-in: New file. + +2003-08-29 Richard M. Stallman + + * misc.texi (Saving Emacs Sessions): Correct previous change. + +2003-08-19 Luc Teirlinck + + * emacs.texi (Top): Update menu to reflect new Keyboard Macros chapter. + (Intro): Include kmacro.texi after fixit.texi instead of after + custom.texi. (As suggested by Kim Storm.) + +2003-08-18 Luc Teirlinck + + * fixit.texi (Fixit): Update `Next' pointer. + * files.texi (Files): Update `Previous' pointer. + * kmacro.texi (Keyboard Macros): Remove redundant node and section. + * emacs.texi (Intro): Include kmacro.texi after custom.texi. + (Suggested by Kim Storm.) + * Makefile (EMACSSOURCES): Add kmacro.texi. (Suggested by Kim Storm.) + +2003-08-18 Kim F. Storm + + * kmacro.texi: New file describing enhanced keyboard macro + functionality. Replaces old description in custom.texi. + + * custom.texi (Customization): Add xref to Keyboard Macros chapter. + (Keyboard Macros): Move to new kmacro.texi file. + + * emacs.texi (Keyboard Macros): Reference new keyboard macro topics. + +2003-08-17 Edward M. Reingold + + * calendar.texi (Specified Dates): Add `calendar-goto-day-of-year'. + +2003-08-17 Alex Schroeder + + * misc.texi (Saving Emacs Sessions): Manual M-x desktop-save not + required. + +2003-08-05 Richard M. Stallman + + * programs.texi (Lisp Indent): Don't describe + lisp-indent-function property here. Use xref to Lisp Manual. + +2003-08-03 Glenn Morris + + * calendar.texi (Date Formats): Document changed behaviour of + abbreviations. + +2003-07-24 Markus Rost + + * buffers.texi (List Buffers): Fix previous change. + +2003-07-13 Markus Rost + + * buffers.texi (List Buffers): Adjust to new format of *Buffer + List*. + +2003-07-07 Luc Teirlinck + + * display.texi (Font Lock): Fix typo. + +2003-07-07 Richard M. Stallman + + * display.texi (Font Lock): Add xref for format info on + font-lock-remove-keywords. + + * building.texi (Compilation): Document what happens with asynch + children of compiler process. + + * help.texi (Library Keywords): Use @multitable. + +2003-06-04 Richard M. Stallman + + * programs.texi (Expressions): Delete C-M-DEL. + + * misc.texi (Shell Options): Clarify comint-scroll-show-maximum-output. + comint-move-point-for-output renamed from + comint-scroll-to-bottom-on-output. + + * custom.texi (Init Rebinding): Replace previous change with xref. + (Non-ASCII Rebinding): Explain that issue more briefly here. + +2003-05-28 Richard M. Stallman + + * indent.texi (Indentation): Condense, simplify, clarify prev change. + +2003-05-28 Nick Roberts + + * building.texi (GDB Graphical Interface): New node. + (Rewritten somewhat by RMS.) + +2003-05-28 Kai Gro,A_(Bjohann + + * custom.texi (Init Rebinding): Xref Non-ASCII Rebinding, for + non-English letters. Explain how to set coding systems correctly + and how to include the right coding cookie in the file. + +2003-05-22 Kai Gro,A_(Bjohann + + * indent.texi (Indentation): Explain the concepts. + (Just Spaces): Explain why preventing tabs for indentation might + be useful. + +2003-04-16 Richard M. Stallman + + * search.texi (Regexps): Ref to Lisp manual for more regexp features. + +2003-02-22 Alex Schroeder + + * cmdargs.texi (General Variables): Document SMTPSERVER. + + * sending.texi: Remove SMTP node. + (Mail Sending): Describe `send-mail-function'. Link to SMTP + library. + +2003-02-22 Alex Schroeder + + * sending.texi (Sending via SMTP): Explain MTA/MUA. + +2003-02-22 Simon Josefsson + + * sending.texi (Mail Methods): Add node about SMTP. + +2003-02-17 Jan Dj,Ad(Brv + + * xresources.texi (GTK names in Emacs): Add emacs-toolbar - GtkToolbar. + +2003-02-01 Kevin Ryde + + * glossary.texi (Glossary): Correction to cl cross reference. + +2003-01-20 Richard M. Stallman + + * killing.texi (Rectangles): Document C-x c r. + +2003-01-19 Jan Dj,Ad(Brv + + * xresources.texi (GTK resources): New node. + (GTK widget names): New node. + (GTK names in Emacs): New node. + (GTK styles): New node. + +2003-01-09 Francesco Potort,Al(B + + * maintaining.texi (Create Tags Table): Add reference to the new + `etags --help --lang=LANG' option. + +2002-10-02 Karl Berry + + * emacs.texi: Per rms, update all manuals to use @copying instead of + @ifinfo. Also use @ifnottex instead of @ifinfo around the top node, + where needed for the sake of the HTML output. + +2001-12-20 Eli Zaretskii + + * Makefile.in (EMACSSOURCES): Update the list of Emacs manual + source files. + +2001-11-16 Eli Zaretskii + + * Makefile.in (emacsman): New target. + +2001-10-20 Gerd Moellmann + + * (Version 21.1 released.) + +2001-10-05 Gerd Moellmann + + * Branch for 21.1. + +2001-03-05 Gerd Moellmann + + * Makefile.in (mostlyclean, maintainer-clean): Delete more files. + +2000-05-31 Stefan Monnier + + * .cvsignore (*.tmp): New entry. Seems to be used for @macro. + +1999-07-12 Richard Stallman + + * Version 20.4 released. + +1998-12-04 Markus Rost + + * Makefile.in (INFO_TARGETS): Delete customize.info. + (DVI_TARGETS): Delete customize.dvi. + (../info/customize, customize.dvi): Targets deleted. + +1998-08-19 Richard Stallman + + * Version 20.3 released. + +1998-05-06 Richard Stallman + + * Makefile.in (EMACSSOURCES): Add mule.texi. + Add msdog.texi, ack.texi. Remove gnu1.texi. + +1998-04-06 Andreas Schwab + + * Makefile.in (ENVADD): Enviroment vars to pass to texi2dvi. Use + it in dvi targets. + +1997-09-23 Paul Eggert + + * Makefile.in: Merge changes mistakenly made to `Makefile'. + (INFO_TARGETS): Change ../info/custom to ../info/customize. + (../info/customize): Rename from ../info/custom. + +1997-09-19 Richard Stallman + + * Version 20.2 released. + +1997-09-15 Richard Stallman + + * Version 20.1 released. + +1997-08-24 Richard Stallman + + * Makefile (../info/customize, customize.dvi): New targets. + (INFO_TARGETS): Add ../info/customize. + (DVI_TARGETS): Add customize.dvi. + +1996-08-11 Richard Stallman + + * Version 19.33 released. + +1996-07-31 Richard Stallman + + * Version 19.32 released. + +1996-06-20 Richard Stallman + + * Makefile.in (All info targets): cd $(srcdir) to do the work. + +1996-06-19 Richard Stallman + + * Makefile.in (All info targets): Specify $(srcdir) in input files. + Specify -I option. + (All dvi targets): Set the TEXINPUTS variable. + +1996-05-25 Karl Heuer + + * Version 19.31 released. + +1995-11-24 Richard Stallman + + * Version 19.30 released. + +1995-02-07 Richard Stallman + + * Makefile.in (maintainer-clean): Rename from realclean. + +1994-11-23 Richard Stallman + + * Makefile.in: New file. + * Makefile: File deleted. + +1994-11-19 Richard Stallman + + * Makefile (TEXINDEX_OBJS): Variable deleted. + (texindex, texindex.o, getopt.o): Rules deleted. + All deps on texindex deleted. + (distclean): Don't delete texindex. + (mostlyclean): Don't delete *.o. + * texindex.c, getopt.c: Files deleted. + +1994-09-07 Richard Stallman + + * Version 19.26 released. + +1994-07-02 Richard Stallman (rms@gnu.ai.mit.edu) + + * Makefile (EMACSSOURCES): Exclude undo.texi. + +1994-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 19.25 released. + +1994-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 19.24 released. + +1994-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 19.23 released. + +1994-04-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile: Delete spurious tab. + +1994-02-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile (.SUFFIXES): New rule. + +1993-12-04 Richard Stallman (rms@srarc2) + + * getopt.c: New file. + * Makefile (TEXINDEX_OBJS): Use getopt.o in this dir, not ../lib-src. + (getopt.o): New rule. + (dvi): Don't depend on texindex. + (emacs.dvi): Depend on texindex. + +1993-12-03 Richard Stallman (rms@srarc2) + + * Makefile (TEXI2DVI): New variable. + (emacs.dvi): Add explicit command. + (TEXINDEX_OBJS): Delete duplicate getopt.o. + +1993-11-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 19.22 released. + +1993-11-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile (TEXINDEX_OBJS): Delete spurious period. + +1993-11-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 19.21 released. + +1993-11-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile (realclean): Don't delete the Info files. + +1993-10-25 Brian Fox (bfox@albert.gnu.ai.mit.edu) + + * frames.texi (Creating Frames): Mention `C-x 5' instead of `C-x + 4' where appropriate. + +1993-10-20 Brian Fox (bfox@ai.mit.edu) + + * Makefile: Fix targets for texindex. + + * texindex.c: Include "../src/config.h" if building in emacs. + + * Makefile: Change all files to FILENAME.texi, force all targets + to be FILENAME, not FILENAME.info. + Add target to build texindex.c, defining `emacs'. + +1993-08-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 19.19 released. + +1993-08-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 19.18 released. + +1993-07-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile: Fix source file names of the separate manuals. + +1993-07-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 19.17 released. + +1993-07-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * split-man: Fix typos in last change. + +1993-07-06 Jim Blandy (jimb@geech.gnu.ai.mit.edu) + + * Version 19.16 released. + +1993-06-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) + + * version 19.15 released. + +1993-06-18 Jim Blandy (jimb@geech.gnu.ai.mit.edu) + + * Makefile (distclean): It's rm, not rf. + +1993-06-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) + + * Version 19.14 released. + +1993-06-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) + + * Makefile: New file. + +1993-06-08 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) + + * Version 19.13 released. + +1993-05-27 Jim Blandy (jimb@geech.gnu.ai.mit.edu) + + * Version 19.9 released. + +1993-05-25 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) + + * Version 19.8 released. + +1993-05-25 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) + + * cmdargs.texi: Document the -i, -itype, and -iconic options. + + * trouble.texi: It's `enable-flow-control-on', not + `evade-flow-control-on'. + +1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) + + * display.texi: Document standard-display-european. + +1993-05-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu) + + * Version 19.7 released. + + * emacs.texi: Add a sentence to the top menu mentioning the + specific version of Emacs this manual applies to. + +1993-04-25 Eric S. Raymond (eric@mole.gnu.ai.mit.edu) + + * basic.texi: Document next-line-add-lines variable used to + implement down-arrow. + + * killing.texi: Document kill-whole-line. + +1993-04-18 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu) + + * text.texi: Update unix TeX ordering information. + +1993-03-26 Eric S. Raymond (eric@geech.gnu.ai.mit.edu) + + * news.texi: Mention fill-rectangle in keybinding list. + + * killing.texi: Document fill-rectangle. + +1993-03-17 Eric S. Raymond (eric@mole.gnu.ai.mit.edu) + + * vc.texi: Bring the docs up to date with VC 5.2. + +1992-01-10 Eric S. Raymond (eric@mole.gnu.ai.mit.edu) + + * emacs.tex: Mention blackbox and gomoku under Amusements. + Assembler mode is now mentioned and appropriately indexed + under Programming Modes. + +1991-02-15 Robert J. Chassell (bob@wookumz.ai.mit.edu) + + * emacs.tex: Update TeX ordering information. + +1990-06-26 David Lawrence (tale@geech) + + * emacs.tex: Note that completion-ignored-extensions is not used + to filter out names when all completions are displayed in + *Completions*. + +1990-05-25 Richard Stallman (rms@sugar-bombs.ai.mit.edu) + + * texindex.tex: If USG, include sys/types.h and sys/fcntl.h. + +1990-03-21 Jim Kingdon (kingdon@pogo.ai.mit.edu) + + * emacs.tex: Add @findex grep. + +1988-08-16 Robert J. Chassell (bob@frosted-flakes.ai.mit.edu) + + * emacs.tex: Correct two typos. No other changes before + Version 19 will be made. + +1988-05-23 Robert J. Chassell (bob@frosted-flakes.ai.mit.edu) + + * emacs.tex: Update information for obtaining TeX distribution from the + University of Washington. + +;; Local Variables: +;; coding: iso-2022-7bit +;; fill-column: 79 +;; add-log-time-zone-rule: t +;; End: + + Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, + 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + + This file is part of GNU Emacs. + + GNU Emacs is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + GNU Emacs is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Emacs; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. + +;;; arch-tag: f1d62776-3ed5-4811-9d96-267252577dbd diff --cc doc/emacs/trouble.texi index ea494445a4e,00000000000..494637c8eeb mode 100644,000000..100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@@ -1,1066 -1,0 +1,1066 @@@ +@c This is part of the Emacs manual. +@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, +@c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +@c See file emacs.texi for copying conditions. +@iftex +@chapter Dealing with Common Problems + + If you type an Emacs command you did not intend, the results are often +mysterious. This chapter tells what you can do to cancel your mistake or +recover from a mysterious situation. Emacs bugs and system crashes are +also considered. +@end iftex + +@ifnottex +@raisesections +@end ifnottex + +@node Quitting, Lossage, Customization, Top +@section Quitting and Aborting +@cindex quitting + +@table @kbd +@item C-g +@itemx C-@key{BREAK} @r{(MS-DOS only)} +Quit: cancel running or partially typed command. +@item C-] +Abort innermost recursive editing level and cancel the command which +invoked it (@code{abort-recursive-edit}). +@item @key{ESC} @key{ESC} @key{ESC} +Either quit or abort, whichever makes sense (@code{keyboard-escape-quit}). +@item M-x top-level +Abort all recursive editing levels that are currently executing. +@item C-x u +Cancel a previously made change in the buffer contents (@code{undo}). +@end table + + There are two ways of canceling a command before it has finished: +@dfn{quitting} with @kbd{C-g}, and @dfn{aborting} with @kbd{C-]} or +@kbd{M-x top-level}. Quitting cancels a partially typed command, or +one which is still running. Aborting exits a recursive editing level +and cancels the command that invoked the recursive edit. +(@xref{Recursive Edit}.) + +@cindex quitting +@kindex C-g + Quitting with @kbd{C-g} is the way to get rid of a partially typed +command, or a numeric argument that you don't want. It also stops a +running command in the middle in a relatively safe way, so you can use +it if you accidentally give a command which takes a long time. In +particular, it is safe to quit out of a kill command; either your text +will @emph{all} still be in the buffer, or it will @emph{all} be in +the kill ring, or maybe both. Quitting an incremental search does +special things, documented under searching; it may take two successive +@kbd{C-g} characters to get out of a search (@pxref{Incremental +Search}). + + On MS-DOS, the character @kbd{C-@key{BREAK}} serves as a quit character +like @kbd{C-g}. The reason is that it is not feasible, on MS-DOS, to +recognize @kbd{C-g} while a command is running, between interactions +with the user. By contrast, it @emph{is} feasible to recognize +@kbd{C-@key{BREAK}} at all times. +@iftex +@xref{MS-DOS Keyboard,,,emacs-xtra, Specialized Emacs Features}. +@end iftex +@ifnottex +@xref{MS-DOS Keyboard}. +@end ifnottex + + +@findex keyboard-quit + @kbd{C-g} works by setting the variable @code{quit-flag} to @code{t} +the instant @kbd{C-g} is typed; Emacs Lisp checks this variable +frequently, and quits if it is non-@code{nil}. @kbd{C-g} is only +actually executed as a command if you type it while Emacs is waiting for +input. In that case, the command it runs is @code{keyboard-quit}. + + On a text terminal, if you quit with @kbd{C-g} a second time before +the first @kbd{C-g} is recognized, you activate the ``emergency +escape'' feature and return to the shell. @xref{Emergency Escape}. + +@cindex NFS and quitting + There are some situations where you cannot quit. When Emacs is +waiting for the operating system to do something, quitting is +impossible unless special pains are taken for the particular system +call within Emacs where the waiting occurs. We have done this for the +system calls that users are likely to want to quit from, but it's - possible you will a case not handled. In one very common ++possible you will encounter a case not handled. In one very common +case---waiting for file input or output using NFS---Emacs itself knows +how to quit, but many NFS implementations simply do not allow user +programs to stop waiting for NFS when the NFS server is hung. + +@cindex aborting recursive edit +@findex abort-recursive-edit +@kindex C-] + Aborting with @kbd{C-]} (@code{abort-recursive-edit}) is used to get +out of a recursive editing level and cancel the command which invoked +it. Quitting with @kbd{C-g} does not do this, and could not do this, +because it is used to cancel a partially typed command @emph{within} the +recursive editing level. Both operations are useful. For example, if +you are in a recursive edit and type @kbd{C-u 8} to enter a numeric +argument, you can cancel that argument with @kbd{C-g} and remain in the +recursive edit. + +@findex keyboard-escape-quit +@kindex ESC ESC ESC + The sequence @kbd{@key{ESC} @key{ESC} @key{ESC}} +(@code{keyboard-escape-quit}) can either quit or abort. (We defined +it this way because @key{ESC} means ``get out'' in many PC programs.) +It can cancel a prefix argument, clear a selected region, or get out +of a Query Replace, like @kbd{C-g}. It can get out of the minibuffer +or a recursive edit, like @kbd{C-]}. It can also get out of splitting +the frame into multiple windows, as with @kbd{C-x 1}. One thing it +cannot do, however, is stop a command that is running. That's because +it executes as an ordinary command, and Emacs doesn't notice it until +it is ready for the next command. + +@findex top-level + The command @kbd{M-x top-level} is equivalent to ``enough'' @kbd{C-]} +commands to get you out of all the levels of recursive edits that you +are in. @kbd{C-]} gets you out one level at a time, but @kbd{M-x +top-level} goes out all levels at once. Both @kbd{C-]} and @kbd{M-x +top-level} are like all other commands, and unlike @kbd{C-g}, in that +they take effect only when Emacs is ready for a command. @kbd{C-]} is +an ordinary key and has its meaning only because of its binding in the +keymap. @xref{Recursive Edit}. + + @kbd{C-x u} (@code{undo}) is not strictly speaking a way of canceling +a command, but you can think of it as canceling a command that already +finished executing. @xref{Undo}, for more information +about the undo facility. + +@node Lossage, Bugs, Quitting, Top +@section Dealing with Emacs Trouble + + This section describes various conditions in which Emacs fails to work +normally, and how to recognize them and correct them. For a list of +additional problems you might encounter, see @ref{Bugs and problems, , +Bugs and problems, efaq, GNU Emacs FAQ}, and the file @file{etc/PROBLEMS} +in the Emacs distribution. Type @kbd{C-h C-f} to read the FAQ; type +@kbd{C-h C-e} to read the @file{PROBLEMS} file. + +@menu +* DEL Does Not Delete:: What to do if @key{DEL} doesn't delete. +* Stuck Recursive:: `[...]' in mode line around the parentheses. +* Screen Garbled:: Garbage on the screen. +* Text Garbled:: Garbage in the text. +* Memory Full:: How to cope when you run out of memory. +* After a Crash:: Recovering editing in an Emacs session that crashed. +* Emergency Escape:: Emergency escape--- + What to do if Emacs stops responding. +* Total Frustration:: When you are at your wits' end. +@end menu + +@node DEL Does Not Delete +@subsection If @key{DEL} Fails to Delete +@cindex @key{DEL} vs @key{BACKSPACE} +@cindex @key{BACKSPACE} vs @key{DEL} +@cindex usual erasure key + + Every keyboard has a large key, a little ways above the @key{RET} or +@key{ENTER} key, which you normally use outside Emacs to erase the +last character that you typed. We call this key @dfn{the usual +erasure key}. In Emacs, it is supposed to be equivalent to @key{DEL}, +and when Emacs is properly configured for your terminal, it translates +that key into the character @key{DEL}. + + When Emacs starts up on a graphical display, it determines +automatically which key should be @key{DEL}. In some unusual cases +Emacs gets the wrong information from the system. If the usual +erasure key deletes forwards instead of backwards, that is probably +what happened---Emacs ought to be treating the @key{DELETE} key as +@key{DEL}, but it isn't. + + On a graphical display, if the usual erasure key is labeled +@key{BACKSPACE} and there is a @key{DELETE} key elsewhere, but the +@key{DELETE} key deletes backward instead of forward, that too +suggests Emacs got the wrong information---but in the opposite sense. +It ought to be treating the @key{BACKSPACE} key as @key{DEL}, and +treating @key{DELETE} differently, but it isn't. + + On a text-only terminal, if you find the usual erasure key prompts +for a Help command, like @kbd{Control-h}, instead of deleting a +character, it means that key is actually sending the @key{BS} +character. Emacs ought to be treating @key{BS} as @key{DEL}, but it +isn't. + + In all of those cases, the immediate remedy is the same: use the +command @kbd{M-x normal-erase-is-backspace-mode}. This toggles +between the two modes that Emacs supports for handling @key{DEL}, so +if Emacs starts in the wrong mode, this should switch to the right +mode. On a text-only terminal, if you want to ask for help when +@key{BS} is treated as @key{DEL}, use @key{F1}; @kbd{C-?} may also +work, if it sends character code 127. + +@findex normal-erase-is-backspace-mode + To fix the problem automatically for every Emacs session, you can +put one of the following lines into your @file{.emacs} file +(@pxref{Init File}). For the first case above, where @key{DELETE} +deletes forwards instead of backwards, use this line to make +@key{DELETE} act as @key{DEL} (resulting in behavior compatible +with Emacs 20 and previous versions): + +@lisp +(normal-erase-is-backspace-mode 0) +@end lisp + +@noindent +For the other two cases, where @key{BACKSPACE} ought to act as +@key{DEL}, use this line: + +@lisp +(normal-erase-is-backspace-mode 1) +@end lisp + +@vindex normal-erase-is-backspace + Another way to fix the problem for every Emacs session is to +customize the variable @code{normal-erase-is-backspace}: the value +@code{t} specifies the mode where @key{BS} or @key{BACKSPACE} is +@key{DEL}, and @code{nil} specifies the other mode. @xref{Easy +Customization}. + + On a graphical display, it can also happen that the usual erasure key +is labeled @key{BACKSPACE}, there is a @key{DELETE} key elsewhere, and +both keys delete forward. This probably means that someone has +redefined your @key{BACKSPACE} key as a @key{DELETE} key. With X, +this is typically done with a command to the @code{xmodmap} program +when you start the server or log in. The most likely motive for this +customization was to support old versions of Emacs, so we recommend +you simply remove it now. + +@node Stuck Recursive +@subsection Recursive Editing Levels + + Recursive editing levels are important and useful features of Emacs, but +they can seem like malfunctions if you do not understand them. + + If the mode line has square brackets @samp{[@dots{}]} around the parentheses +that contain the names of the major and minor modes, you have entered a +recursive editing level. If you did not do this on purpose, or if you +don't understand what that means, you should just get out of the recursive +editing level. To do so, type @kbd{M-x top-level}. This is called getting +back to top level. @xref{Recursive Edit}. + +@node Screen Garbled +@subsection Garbage on the Screen + + If the text on a text terminal looks wrong, the first thing to do is +see whether it is wrong in the buffer. Type @kbd{C-l} to redisplay +the entire screen. If the screen appears correct after this, the +problem was entirely in the previous screen update. (Otherwise, see +the following section.) + + Display updating problems often result from an incorrect terminfo +entry for the terminal you are using. The file @file{etc/TERMS} in +the Emacs distribution gives the fixes for known problems of this +sort. @file{INSTALL} contains general advice for these problems in +one of its sections. To investigate the possibility that you have +this sort of problem, try Emacs on another terminal made by a +different manufacturer. If problems happen frequently on one kind of +terminal but not another kind, it is likely to be a bad terminfo entry, +though it could also be due to a bug in Emacs that appears for +terminals that have or that lack specific features. + +@node Text Garbled +@subsection Garbage in the Text + + If @kbd{C-l} shows that the text is wrong, first type @kbd{C-h l} to +see what commands you typed to produce the observed results. Then try +undoing the changes step by step using @kbd{C-x u}, until it gets back +to a state you consider correct. + + If a large portion of text appears to be missing at the beginning or +end of the buffer, check for the word @samp{Narrow} in the mode line. +If it appears, the text you don't see is probably still present, but +temporarily off-limits. To make it accessible again, type @kbd{C-x n +w}. @xref{Narrowing}. + +@node Memory Full +@subsection Running out of Memory +@cindex memory full +@cindex out of memory + + If you get the error message @samp{Virtual memory exceeded}, save +your modified buffers with @kbd{C-x s}. This method of saving them +has the smallest need for additional memory. Emacs keeps a reserve of +memory which it makes available when this error happens; that should +be enough to enable @kbd{C-x s} to complete its work. When the +reserve has been used, @samp{!MEM FULL!} appears at the beginning of +the mode line, indicating there is no more reserve. + + Once you have saved your modified buffers, you can exit this Emacs +session and start another, or you can use @kbd{M-x kill-some-buffers} +to free space in the current Emacs job. If this frees up sufficient +space, Emacs will refill its memory reserve, and @samp{!MEM FULL!} +will disappear from the mode line. That means you can safely go on +editing in the same Emacs session. + + Do not use @kbd{M-x buffer-menu} to save or kill buffers when you run +out of memory, because the buffer menu needs a fair amount of memory +itself, and the reserve supply may not be enough. + +@node After a Crash +@subsection Recovery After a Crash + + If Emacs or the computer crashes, you can recover the files you were +editing at the time of the crash from their auto-save files. To do +this, start Emacs again and type the command @kbd{M-x recover-session}. + + This command initially displays a buffer which lists interrupted +session files, each with its date. You must choose which session to +recover from. Typically the one you want is the most recent one. Move +point to the one you choose, and type @kbd{C-c C-c}. + + Then @code{recover-session} considers each of the files that you +were editing during that session; for each such file, it asks whether +to recover that file. If you answer @kbd{y} for a file, it shows the +dates of that file and its auto-save file, then asks once again +whether to recover that file. For the second question, you must +confirm with @kbd{yes}. If you do, Emacs visits the file but gets the +text from the auto-save file. + + When @code{recover-session} is done, the files you've chosen to +recover are present in Emacs buffers. You should then save them. Only +this---saving them---updates the files themselves. + + As a last resort, if you had buffers with content which were not +associated with any files, or if the autosave was not recent enough to +have recorded important changes, you can use the +@file{etc/emacs-buffer.gdb} script with GDB (the GNU Debugger) to +retrieve them from a core dump--provided that a core dump was saved, +and that the Emacs executable was not stripped of its debugging +symbols. + + As soon as you get the core dump, rename it to another name such as +@file{core.emacs}, so that another crash won't overwrite it. + + To use this script, run @code{gdb} with the file name of your Emacs +executable and the file name of the core dump, e.g. @samp{gdb +/usr/bin/emacs core.emacs}. At the @code{(gdb)} prompt, load the +recovery script: @samp{source /usr/src/emacs/etc/emacs-buffer.gdb}. +Then type the command @code{ybuffer-list} to see which buffers are +available. For each buffer, it lists a buffer number. To save a +buffer, use @code{ysave-buffer}; you specify the buffer number, and +the file name to write that buffer into. You should use a file name +which does not already exist; if the file does exist, the script does +not make a backup of its old contents. + +@node Emergency Escape +@subsection Emergency Escape + + On text-only terminals, the @dfn{emergency escape} feature suspends +Emacs immediately if you type @kbd{C-g} a second time before Emacs can +actually respond to the first one by quitting. This is so you can +always get out of GNU Emacs no matter how badly it might be hung. +When things are working properly, Emacs recognizes and handles the +first @kbd{C-g} so fast that the second one won't trigger emergency +escape. However, if some problem prevents Emacs from handling the +first @kbd{C-g} properly, then the second one will get you back to the +shell. + + When you resume Emacs after a suspension caused by emergency escape, +it asks two questions before going back to what it had been doing: + +@example +Auto-save? (y or n) +Abort (and dump core)? (y or n) +@end example + +@noindent +Answer each one with @kbd{y} or @kbd{n} followed by @key{RET}. + + Saying @kbd{y} to @samp{Auto-save?} causes immediate auto-saving of +all modified buffers in which auto-saving is enabled. Saying @kbd{n} +skips this. + + Saying @kbd{y} to @samp{Abort (and dump core)?} causes Emacs to +crash, dumping core. This is to enable a wizard to figure out why +Emacs was failing to quit in the first place. Execution does not +continue after a core dump. + + If you answer this question @kbd{n}, Emacs execution resumes. With +luck, Emacs will ultimately do the requested quit. If not, each +subsequent @kbd{C-g} invokes emergency escape again. + + If Emacs is not really hung, just slow, you may invoke the double +@kbd{C-g} feature without really meaning to. Then just resume and +answer @kbd{n} to both questions, and you will get back to the former +state. The quit you requested will happen by and by. + + Emergency escape is active only for text terminals. On graphical +displays, you can use the mouse to kill Emacs or switch to another +program. + + On MS-DOS, you must type @kbd{C-@key{BREAK}} (twice) to cause +emergency escape---but there are cases where it won't work, when +system call hangs or when Emacs is stuck in a tight loop in C code. + +@node Total Frustration +@subsection Help for Total Frustration +@cindex Eliza +@cindex doctor + + If using Emacs (or something else) becomes terribly frustrating and none +of the techniques described above solve the problem, Emacs can still help +you. + + First, if the Emacs you are using is not responding to commands, type +@kbd{C-g C-g} to get out of it and then start a new one. + +@findex doctor + Second, type @kbd{M-x doctor @key{RET}}. + + The Emacs psychotherapist will help you feel better. Each time you +say something to the psychotherapist, you must end it by typing +@key{RET} @key{RET}. This indicates you are finished typing. + +@node Bugs, Contributing, Lossage, Top +@section Reporting Bugs + +@cindex bugs + Sometimes you will encounter a bug in Emacs. Although we cannot +promise we can or will fix the bug, and we might not even agree that it +is a bug, we want to hear about problems you encounter. Often we agree +they are bugs and want to fix them. + + To make it possible for us to fix a bug, you must report it. In order +to do so effectively, you must know when and how to do it. + + Before reporting a bug, it is a good idea to see if it is already +known. You can find the list of known problems in the file +@file{etc/PROBLEMS} in the Emacs distribution; type @kbd{C-h C-e} to read +it. Some additional user-level problems can be found in @ref{Bugs and +problems, , Bugs and problems, efaq, GNU Emacs FAQ}. Looking up your +problem in these two documents might provide you with a solution or a +work-around, or give you additional information about related issues. + +@menu +* Criteria: Bug Criteria. Have you really found a bug? +* Understanding Bug Reporting:: How to report a bug effectively. +* Checklist:: Steps to follow for a good bug report. +* Sending Patches:: How to send a patch for GNU Emacs. +@end menu + +@node Bug Criteria +@subsection When Is There a Bug + + If Emacs accesses an invalid memory location (``segmentation +fault''), or exits with an operating system error message that +indicates a problem in the program (as opposed to something like +``disk full''), then it is certainly a bug. + + If Emacs updates the display in a way that does not correspond to what is +in the buffer, then it is certainly a bug. If a command seems to do the +wrong thing but the problem corrects itself if you type @kbd{C-l}, it is a +case of incorrect display updating. + + Taking forever to complete a command can be a bug, but you must make +certain that it was really Emacs's fault. Some commands simply take a +long time. Type @kbd{C-g} (@kbd{C-@key{BREAK}} on MS-DOS) and then @kbd{C-h l} +to see whether the input Emacs received was what you intended to type; +if the input was such that you @emph{know} it should have been processed +quickly, report a bug. If you don't know whether the command should +take a long time, find out by looking in the manual or by asking for +assistance. + + If a command you are familiar with causes an Emacs error message in a +case where its usual definition ought to be reasonable, it is probably a +bug. + + If a command does the wrong thing, that is a bug. But be sure you know +for certain what it ought to have done. If you aren't familiar with the +command, or don't know for certain how the command is supposed to work, +then it might actually be working right. Rather than jumping to +conclusions, show the problem to someone who knows for certain. + + Finally, a command's intended definition may not be the best +possible definition for editing with. This is a very important sort +of problem, but it is also a matter of judgment. Also, it is easy to +come to such a conclusion out of ignorance of some of the existing +features. It is probably best not to complain about such a problem +until you have checked the documentation in the usual ways, feel +confident that you understand it, and know for certain that what you +want is not available. Ask other Emacs users, too. If you are not +sure what the command is supposed to do after a careful reading of the +manual, check the index and glossary for any terms that may be +unclear. + + If after careful rereading of the manual you still do not understand +what the command should do, that indicates a bug in the manual, which +you should report. The manual's job is to make everything clear to +people who are not Emacs experts---including you. It is just as +important to report documentation bugs as program bugs. + + If the on-line documentation string of a function or variable disagrees +with the manual, one of them must be wrong; that is a bug. + +@node Understanding Bug Reporting +@subsection Understanding Bug Reporting + +@findex emacs-version + When you decide that there is a bug, it is important to report it and to +report it in a way which is useful. What is most useful is an exact +description of what commands you type, starting with the shell command to +run Emacs, until the problem happens. + + The most important principle in reporting a bug is to report +@emph{facts}. Hypotheses and verbal descriptions are no substitute for +the detailed raw data. Reporting the facts is straightforward, but many +people strain to posit explanations and report them instead of the +facts. If the explanations are based on guesses about how Emacs is +implemented, they will be useless; meanwhile, lacking the facts, we will +have no real information about the bug. + + For example, suppose that you type @kbd{C-x C-f /glorp/baz.ugh +@key{RET}}, visiting a file which (you know) happens to be rather +large, and Emacs displays @samp{I feel pretty today}. The best way to +report the bug is with a sentence like the preceding one, because it +gives all the facts. + + A bad way would be to assume that the problem is due to the size of +the file and say, ``I visited a large file, and Emacs displayed @samp{I +feel pretty today}.'' This is what we mean by ``guessing +explanations.'' The problem is just as likely to be due to the fact +that there is a @samp{z} in the file name. If this is so, then when we +got your report, we would try out the problem with some ``large file,'' +probably with no @samp{z} in its name, and not see any problem. There +is no way in the world that we could guess that we should try visiting a +file with a @samp{z} in its name. + + Alternatively, the problem might be due to the fact that the file starts +with exactly 25 spaces. For this reason, you should make sure that you +inform us of the exact contents of any file that is needed to reproduce the +bug. What if the problem only occurs when you have typed the @kbd{C-x C-a} +command previously? This is why we ask you to give the exact sequence of +characters you typed since starting the Emacs session. + + You should not even say ``visit a file'' instead of @kbd{C-x C-f} unless +you @emph{know} that it makes no difference which visiting command is used. +Similarly, rather than saying ``if I have three characters on the line,'' +say ``after I type @kbd{@key{RET} A B C @key{RET} C-p},'' if that is +the way you entered the text. + + So please don't guess any explanations when you report a bug. If you +want to actually @emph{debug} the problem, and report explanations that +are more than guesses, that is useful---but please include the facts as +well. + +@node Checklist +@subsection Checklist for Bug Reports + +@cindex reporting bugs + The best way to send a bug report is to mail it electronically to the +Emacs maintainers at @email{bug-gnu-emacs@@gnu.org}, or to +@email{emacs-pretest-bug@@gnu.org} if you are pretesting an Emacs beta +release. (If you want to suggest a change as an improvement, use the +same address.) + + If you'd like to read the bug reports, you can find them on the +newsgroup @samp{gnu.emacs.bug}; keep in mind, however, that as a +spectator you should not criticize anything about what you see there. +The purpose of bug reports is to give information to the Emacs +maintainers. Spectators are welcome only as long as they do not +interfere with this. In particular, some bug reports contain fairly +large amounts of data; spectators should not complain about this. + + Please do not post bug reports using netnews; mail is more reliable +than netnews about reporting your correct address, which we may need +in order to ask you for more information. If your data is more than +500,000 bytes, please don't include it directly in the bug report; +instead, offer to send it on request, or make it available by ftp and +say where. + +@findex report-emacs-bug + A convenient way to send a bug report for Emacs is to use the command +@kbd{M-x report-emacs-bug}. This sets up a mail buffer (@pxref{Sending +Mail}) and automatically inserts @emph{some} of the essential +information. However, it cannot supply all the necessary information; +you should still read and follow the guidelines below, so you can enter +the other crucial information by hand before you send the message. + + To enable maintainers to investigate a bug, your report +should include all these things: + +@itemize @bullet +@item +The version number of Emacs. Without this, we won't know whether there +is any point in looking for the bug in the current version of GNU +Emacs. + +You can get the version number by typing @kbd{M-x emacs-version +@key{RET}}. If that command does not work, you probably have something +other than GNU Emacs, so you will have to report the bug somewhere +else. + +@item +The type of machine you are using, and the operating system name and +version number. @kbd{M-x emacs-version @key{RET}} provides this +information too. Copy its output from the @samp{*Messages*} buffer, so +that you get it all and get it accurately. + +@item +The operands given to the @code{configure} command when Emacs was +installed. + +@item +A complete list of any modifications you have made to the Emacs source. +(We may not have time to investigate the bug unless it happens in an +unmodified Emacs. But if you've made modifications and you don't tell +us, you are sending us on a wild goose chase.) + +Be precise about these changes. A description in English is not +enough---send a context diff for them. + +Adding files of your own, or porting to another machine, is a +modification of the source. + +@item +Details of any other deviations from the standard procedure for installing +GNU Emacs. + +@item +The complete text of any files needed to reproduce the bug. + + If you can tell us a way to cause the problem without visiting any files, +please do so. This makes it much easier to debug. If you do need files, +make sure you arrange for us to see their exact contents. For example, it +can matter whether there are spaces at the ends of lines, or a +newline after the last line in the buffer (nothing ought to care whether +the last line is terminated, but try telling the bugs that). + +@item +The precise commands we need to type to reproduce the bug. + +@findex open-dribble-file +@cindex dribble file +@cindex logging keystrokes +The easy way to record the input to Emacs precisely is to write a +dribble file. To start the file, execute the Lisp expression + +@example +(open-dribble-file "~/dribble") +@end example + +@noindent +using @kbd{M-:} or from the @samp{*scratch*} buffer just after +starting Emacs. From then on, Emacs copies all your input to the +specified dribble file until the Emacs process is killed. + +@item +@findex open-termscript +@cindex termscript file +@cindex @env{TERM} environment variable +For possible display bugs, the terminal type (the value of environment +variable @env{TERM}), the complete termcap entry for the terminal from +@file{/etc/termcap} (since that file is not identical on all machines), +and the output that Emacs actually sent to the terminal. + +The way to collect the terminal output is to execute the Lisp expression + +@example +(open-termscript "~/termscript") +@end example + +@noindent +using @kbd{M-:} or from the @samp{*scratch*} buffer just after +starting Emacs. From then on, Emacs copies all terminal output to the +specified termscript file as well, until the Emacs process is killed. +If the problem happens when Emacs starts up, put this expression into +your @file{.emacs} file so that the termscript file will be open when +Emacs displays the screen for the first time. + +Be warned: it is often difficult, and sometimes impossible, to fix a +terminal-dependent bug without access to a terminal of the type that +stimulates the bug. + +@item +If non-@acronym{ASCII} text or internationalization is relevant, the locale that +was current when you started Emacs. On GNU/Linux and Unix systems, or +if you use a Posix-style shell such as Bash, you can use this shell +command to view the relevant values: + +@smallexample +echo LC_ALL=$LC_ALL LC_COLLATE=$LC_COLLATE LC_CTYPE=$LC_CTYPE \ + LC_MESSAGES=$LC_MESSAGES LC_TIME=$LC_TIME LANG=$LANG +@end smallexample + +Alternatively, use the @command{locale} command, if your system has it, +to display your locale settings. + +You can use the @kbd{M-!} command to execute these commands from +Emacs, and then copy the output from the @samp{*Messages*} buffer into +the bug report. Alternatively, @kbd{M-x getenv @key{RET} LC_ALL +@key{RET}} will display the value of @code{LC_ALL} in the echo area, and +you can copy its output from the @samp{*Messages*} buffer. + +@item +A description of what behavior you observe that you believe is +incorrect. For example, ``The Emacs process gets a fatal signal,'' or, +``The resulting text is as follows, which I think is wrong.'' + +Of course, if the bug is that Emacs gets a fatal signal, then one can't +miss it. But if the bug is incorrect text, the maintainer might fail to +notice what is wrong. Why leave it to chance? + +Even if the problem you experience is a fatal signal, you should still +say so explicitly. Suppose something strange is going on, such as, your +copy of the source is out of sync, or you have encountered a bug in the +C library on your system. (This has happened!) Your copy might crash +and the copy here might not. If you @emph{said} to expect a crash, then +when Emacs here fails to crash, we would know that the bug was not +happening. If you don't say to expect a crash, then we would not know +whether the bug was happening---we would not be able to draw any +conclusion from our observations. + +@item +If the bug is that the Emacs Manual or the Emacs Lisp Reference Manual +fails to describe the actual behavior of Emacs, or that the text is +confusing, copy in the text from the online manual which you think is +at fault. If the section is small, just the section name is enough. + +@item +If the manifestation of the bug is an Emacs error message, it is +important to report the precise text of the error message, and a +backtrace showing how the Lisp program in Emacs arrived at the error. + +To get the error message text accurately, copy it from the +@samp{*Messages*} buffer into the bug report. Copy all of it, not just +part. + +@findex toggle-debug-on-error +@pindex Edebug +To make a backtrace for the error, use @kbd{M-x toggle-debug-on-error} +before the error happens (that is to say, you must give that command +and then make the bug happen). This causes the error to start the Lisp +debugger, which shows you a backtrace. Copy the text of the +debugger's backtrace into the bug report. @xref{Debugger,, The Lisp +Debugger, elisp, the Emacs Lisp Reference Manual}, for information on +debugging Emacs Lisp programs with the Edebug package. + +This use of the debugger is possible only if you know how to make the +bug happen again. If you can't make it happen again, at least copy +the whole error message. + +@item +Check whether any programs you have loaded into the Lisp world, +including your @file{.emacs} file, set any variables that may affect the +functioning of Emacs. Also, see whether the problem happens in a +freshly started Emacs without loading your @file{.emacs} file (start +Emacs with the @code{-q} switch to prevent loading the init file). If +the problem does @emph{not} occur then, you must report the precise +contents of any programs that you must load into the Lisp world in order +to cause the problem to occur. + +@item +If the problem does depend on an init file or other Lisp programs that +are not part of the standard Emacs system, then you should make sure it +is not a bug in those programs by complaining to their maintainers +first. After they verify that they are using Emacs in a way that is +supposed to work, they should report the bug. + +@item +If you wish to mention something in the GNU Emacs source, show the line +of code with a few lines of context. Don't just give a line number. + +The line numbers in the development sources don't match those in your +sources. It would take extra work for the maintainers to determine what +code is in your version at a given line number, and we could not be +certain. + +@item +Additional information from a C debugger such as GDB might enable +someone to find a problem on a machine which he does not have available. +If you don't know how to use GDB, please read the GDB manual---it is not +very long, and using GDB is easy. You can find the GDB distribution, +including the GDB manual in online form, in most of the same places you +can find the Emacs distribution. To run Emacs under GDB, you should +switch to the @file{src} subdirectory in which Emacs was compiled, then +do @samp{gdb emacs}. It is important for the directory @file{src} to be +current so that GDB will read the @file{.gdbinit} file in this +directory. + +However, you need to think when you collect the additional information +if you want it to show what causes the bug. + +@cindex backtrace for bug reports +For example, many people send just a backtrace, but that is not very +useful by itself. A simple backtrace with arguments often conveys +little about what is happening inside GNU Emacs, because most of the +arguments listed in the backtrace are pointers to Lisp objects. The +numeric values of these pointers have no significance whatever; all that +matters is the contents of the objects they point to (and most of the +contents are themselves pointers). + +@findex debug_print +To provide useful information, you need to show the values of Lisp +objects in Lisp notation. Do this for each variable which is a Lisp +object, in several stack frames near the bottom of the stack. Look at +the source to see which variables are Lisp objects, because the debugger +thinks of them as integers. + +To show a variable's value in Lisp syntax, first print its value, then +use the user-defined GDB command @code{pr} to print the Lisp object in +Lisp syntax. (If you must use another debugger, call the function +@code{debug_print} with the object as an argument.) The @code{pr} +command is defined by the file @file{.gdbinit}, and it works only if you +are debugging a running process (not with a core dump). + +To make Lisp errors stop Emacs and return to GDB, put a breakpoint at +@code{Fsignal}. + +For a short listing of Lisp functions running, type the GDB +command @code{xbacktrace}. + +The file @file{.gdbinit} defines several other commands that are useful +for examining the data types and contents of Lisp objects. Their names +begin with @samp{x}. These commands work at a lower level than +@code{pr}, and are less convenient, but they may work even when +@code{pr} does not, such as when debugging a core dump or when Emacs has +had a fatal signal. + +@cindex debugging Emacs, tricks and techniques +More detailed advice and other useful techniques for debugging Emacs +are available in the file @file{etc/DEBUG} in the Emacs distribution. +That file also includes instructions for investigating problems +whereby Emacs stops responding (many people assume that Emacs is +``hung,'' whereas in fact it might be in an infinite loop). + +To find the file @file{etc/DEBUG} in your Emacs installation, use the +directory name stored in the variable @code{data-directory}. +@end itemize + +Here are some things that are not necessary in a bug report: + +@itemize @bullet +@item +A description of the envelope of the bug---this is not necessary for a +reproducible bug. + +Often people who encounter a bug spend a lot of time investigating +which changes to the input file will make the bug go away and which +changes will not affect it. + +This is often time-consuming and not very useful, because the way we +will find the bug is by running a single example under the debugger +with breakpoints, not by pure deduction from a series of examples. +You might as well save time by not searching for additional examples. +It is better to send the bug report right away, go back to editing, +and find another bug to report. + +Of course, if you can find a simpler example to report @emph{instead} of +the original one, that is a convenience. Errors in the output will be +easier to spot, running under the debugger will take less time, etc. + +However, simplification is not vital; if you can't do this or don't have +time to try, please report the bug with your original test case. + +@item +A core dump file. + +Debugging the core dump might be useful, but it can only be done on +your machine, with your Emacs executable. Therefore, sending the core +dump file to the Emacs maintainers won't be useful. Above all, don't +include the core file in an email bug report! Such a large message +can be extremely inconvenient. + +@item +A system-call trace of Emacs execution. + +System-call traces are very useful for certain special kinds of +debugging, but in most cases they give little useful information. It is +therefore strange that many people seem to think that @emph{the} way to +report information about a crash is to send a system-call trace. Perhaps +this is a habit formed from experience debugging programs that don't +have source code or debugging symbols. + +In most programs, a backtrace is normally far, far more informative than +a system-call trace. Even in Emacs, a simple backtrace is generally +more informative, though to give full information you should supplement +the backtrace by displaying variable values and printing them as Lisp +objects with @code{pr} (see above). + +@item +A patch for the bug. + +A patch for the bug is useful if it is a good one. But don't omit the +other information that a bug report needs, such as the test case, on the +assumption that a patch is sufficient. We might see problems with your +patch and decide to fix the problem another way, or we might not +understand it at all. And if we can't understand what bug you are +trying to fix, or why your patch should be an improvement, we mustn't +install it. + +@ifnottex +@xref{Sending Patches}, for guidelines on how to make it easy for us to +understand and install your patches. +@end ifnottex + +@item +A guess about what the bug is or what it depends on. + +Such guesses are usually wrong. Even experts can't guess right about +such things without first using the debugger to find the facts. +@end itemize + +@node Sending Patches +@subsection Sending Patches for GNU Emacs + +@cindex sending patches for GNU Emacs +@cindex patches, sending + If you would like to write bug fixes or improvements for GNU Emacs, +that is very helpful. When you send your changes, please follow these +guidelines to make it easy for the maintainers to use them. If you +don't follow these guidelines, your information might still be useful, +but using it will take extra work. Maintaining GNU Emacs is a lot of +work in the best of circumstances, and we can't keep up unless you do +your best to help. + +@itemize @bullet +@item +Send an explanation with your changes of what problem they fix or what +improvement they bring about. For a bug fix, just include a copy of the +bug report, and explain why the change fixes the bug. + +(Referring to a bug report is not as good as including it, because then +we will have to look it up, and we have probably already deleted it if +we've already fixed the bug.) + +@item +Always include a proper bug report for the problem you think you have +fixed. We need to convince ourselves that the change is right before +installing it. Even if it is correct, we might have trouble +understanding it if we don't have a way to reproduce the problem. + +@item +Include all the comments that are appropriate to help people reading the +source in the future understand why this change was needed. + +@item +Don't mix together changes made for different reasons. +Send them @emph{individually}. + +If you make two changes for separate reasons, then we might not want to +install them both. We might want to install just one. If you send them +all jumbled together in a single set of diffs, we have to do extra work +to disentangle them---to figure out which parts of the change serve +which purpose. If we don't have time for this, we might have to ignore +your changes entirely. + +If you send each change as soon as you have written it, with its own +explanation, then two changes never get tangled up, and we can consider +each one properly without any extra work to disentangle them. + +@item +Send each change as soon as that change is finished. Sometimes people +think they are helping us by accumulating many changes to send them all +together. As explained above, this is absolutely the worst thing you +could do. + +Since you should send each change separately, you might as well send it +right away. That gives us the option of installing it immediately if it +is important. + +@item +Use @samp{diff -c} to make your diffs. Diffs without context are hard +to install reliably. More than that, they are hard to study; we must +always study a patch to decide whether we want to install it. Unidiff +format is better than contextless diffs, but not as easy to read as +@samp{-c} format. + +If you have GNU diff, use @samp{diff -c -F'^[_a-zA-Z0-9$]+ *('} when +making diffs of C code. This shows the name of the function that each +change occurs in. + +@item +Avoid any ambiguity as to which is the old version and which is the new. +Please make the old version the first argument to diff, and the new +version the second argument. And please give one version or the other a +name that indicates whether it is the old version or your new changed +one. + +@item +Write the change log entries for your changes. This is both to save us +the extra work of writing them, and to help explain your changes so we +can understand them. + +The purpose of the change log is to show people where to find what was +changed. So you need to be specific about what functions you changed; +in large functions, it's often helpful to indicate where within the +function the change was. + +On the other hand, once you have shown people where to find the change, +you need not explain its purpose in the change log. Thus, if you add a +new function, all you need to say about it is that it is new. If you +feel that the purpose needs explaining, it probably does---but put the +explanation in comments in the code. It will be more useful there. + +Please read the @file{ChangeLog} files in the @file{src} and +@file{lisp} directories to see what sorts of information to put in, +and to learn the style that we use. @xref{Change Log}. + +@item +When you write the fix, keep in mind that we can't install a change that +would break other systems. Please think about what effect your change +will have if compiled on another type of system. + +Sometimes people send fixes that @emph{might} be an improvement in +general---but it is hard to be sure of this. It's hard to install +such changes because we have to study them very carefully. Of course, +a good explanation of the reasoning by which you concluded the change +was correct can help convince us. + +The safest changes are changes to the configuration files for a +particular machine. These are safe because they can't create new bugs +on other machines. + +Please help us keep up with the workload by designing the patch in a +form that is clearly safe to install. +@end itemize + +@node Contributing, Service, Bugs, Top +@section Contributing to Emacs Development + +If you would like to help pretest Emacs releases to assure they work +well, or if you would like to work on improving Emacs, please contact +the maintainers at @email{emacs-devel@@gnu.org}. A pretester +should be prepared to investigate bugs as well as report them. If you'd +like to work on improving Emacs, please ask for suggested projects or +suggest your own ideas. + +If you have already written an improvement, please tell us about it. If +you have not yet started work, it is useful to contact +@email{emacs-devel@@gnu.org} before you start; it might be +possible to suggest ways to make your extension fit in better with the +rest of Emacs. + +The development version of Emacs can be downloaded from the CVS +repository where it is actively maintained by a group of developers. +See the Emacs project page +@url{http://savannah.gnu.org/projects/emacs/} for details. + +@node Service, Copying, Contributing, Top +@section How To Get Help with GNU Emacs + +If you need help installing, using or changing GNU Emacs, there are two +ways to find it: + +@itemize @bullet +@item +Send a message to the mailing list +@email{help-gnu-emacs@@gnu.org}, or post your request on +newsgroup @code{gnu.emacs.help}. (This mailing list and newsgroup +interconnect, so it does not matter which one you use.) + +@item +Look in the service directory for someone who might help you for a fee. +The service directory is found in the file named @file{etc/SERVICE} in the +Emacs distribution. +@end itemize + +@ifnottex +@lowersections +@end ifnottex + +@ignore + arch-tag: c9cba76d-b2cb-4e0c-ae3f-19d5ef35817c +@end ignore diff --cc etc/NEWS.22 index 2b7c82dd7b6,00000000000..867c58c47a4 mode 100644,000000..100644 --- a/etc/NEWS.22 +++ b/etc/NEWS.22 @@@ -1,5495 -1,0 +1,5495 @@@ +GNU Emacs NEWS -- history of user-visible changes. + +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. +See the end of the file for license conditions. + +Please send Emacs bug reports to bug-gnu-emacs@gnu.org. +If possible, use M-x report-emacs-bug. + +This file is about changes in Emacs version 22. + +See files NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 for changes +in older Emacs versions. + +You can narrow news to a specific version by calling `view-emacs-news' +with a prefix argument or by typing C-u C-h C-n. + +* About external Lisp packages + +When you upgrade to Emacs 22 from a previous version, some older +versions of external Lisp packages are known to behave badly. +So in general, it is recommended that you upgrade to the latest +versions of any external Lisp packages that you are using. + +You should also be aware that many Lisp packages have been included +with Emacs 22 (see the extensive list below), and you should remove +any older versions of these packages to ensure that the Emacs 22 +version is used. You can use M-x list-load-path-shadows to find such +older packages. + +Some specific packages that are known to cause problems are given +below. Emacs tries to warn you about these through `bad-packages-alist'. + +** Semantic (used by CEDET, ECB, JDEE): upgrade to latest version. + +** cua.el, cua-mode.el: remove old versions. + +* Installation Changes in Emacs 22.2 + +** Emacs is now licensed under the GNU GPL version 3 (or later). + +* Changes in Emacs 22.2 + +** `browse-url-emacs' loads a URL into an Emacs buffer. Handy for *.el URLs. + +** `bad-packages-alist' will warn about external packages that are known +to cause problems in this version of Emacs. + +** The values of `dired-recursive-deletes' and `dired-recursive-copies' +have been changed to `top'. This means that the user is asked once, +before deleting/copying the indicated directory recursively. + +** In Image mode, whenever the displayed image is wider and/or higher +than the window, the usual keys for moving the cursor cause the image +to be scrolled horizontally or vertically instead. + +** Scrollbars follow the system theme on Windows XP and later. +Windows XP introduced themed scrollbars, but applications have to take +special steps to use them. Emacs now has the appropriate resources linked +in to make it use the scrollbars from the system theme. + +** focus-follows-mouse defaults to nil on MS Windows +Previously this variable was incorrectly documented as having no effect +on MS Windows, and the default was inappropriate for the majority of +Windows installations. Users of software which modifies the behaviour of +Windows to cause focus to follow the mouse will now need to explicitly set +this variable. + +** The command gdba has been removed as gdb works now for those cases where it +was needed. In text command mode, if you have problems before execution has +started, use M-x gud-gdb. + +* New Modes and Packages in Emacs 22.2 + +** bibtex-style-mode helps you write BibTeX's *.bst files. + +** The new package css-mode.el provides a major mode for editing CSS files. + +** The new package vera-mode.el provides a major mode for editing Vera files. + +** The new package socks.el implements the SOCKS v5 protocol. + +** VC + +*** VC backends can provide completion of revision names. + +*** VC backends can provide extra menu entries to be added to the "Version Control" menu. +This can be used to add menu entries for backend specific functions. + +*** VC has some support for Mercurial (Hg). + +*** VC has some support for Monotone (Mtn). + +*** VC has some support for Bazaar (Bzr). + +*** VC has some support for Git. + +* Lisp Changes in Emacs 22.2. + +** The command `repeat' will no more attempt to repeat a command bound +to an input event. + +** The function invisible-p returns non-nil if the character + after a specified position is invisible. + ++++ +** inhibit-modification-hooks is bound to t while running modification hooks. +As a happy consequence, after-change-functions and before-change-functions +are not bound to nil any more while running an (after|before)-change-function. + +** New function `window-full-width-p' returns t if a window is as wide +as its frame. + +** The new function `image-refresh' refreshes all images associated +with a given image specification. + +** The new function `split-string-and-unquote' does (what?) + +** The new function `combine-and-quote-strings' does (what?) + +* Installation Changes in Emacs 22.1 + +** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' +when you run configure. This requires Gtk+ 2.4 or newer. This port +provides a way to display multilingual text in menus (with some caveats). + +** The Emacs Lisp Reference Manual is now part of the distribution. + +The Emacs Lisp Reference Manual in Info format is built as part of the +Emacs build procedure and installed together with the Emacs User +Manual. A menu item was added to the menu bar to make it easily +accessible (Help->More Manuals->Emacs Lisp Reference). + +** The Introduction to Programming in Emacs Lisp manual is now part of +the distribution. + +This manual is now part of the standard distribution and is installed, +together with the Emacs User Manual, into the Info directory. A menu +item was added to the menu bar to make it easily accessible +(Help->More Manuals->Introduction to Emacs Lisp). + +** Leim is now part of the Emacs distribution. +You no longer need to download a separate tarball in order to build +Emacs with Leim. + +** Support for MacOS X was added. +See the files mac/README and mac/INSTALL for build instructions. + +** Mac OS 9 port now uses the Carbon API by default. You can also +create a non-Carbon build by specifying `NonCarbon' as a target. See +the files mac/README and mac/INSTALL for build instructions. + +** Support for a Cygwin build of Emacs was added. + +** Support for GNU/Linux systems on X86-64 machines was added. + +** Support for GNU/Linux systems on S390 machines was added. + +** Support for GNU/Linux systems on Tensilica Xtensa machines was added. + +** Support for FreeBSD/Alpha has been added. + +** New translations of the Emacs Tutorial are available in the +following languages: Brasilian Portuguese, Bulgarian, Chinese (both +with simplified and traditional characters), French, Russian, and +Italian. Type `C-u C-h t' to choose one of them in case your language +setup doesn't automatically select the right one. + +** New translations of the Emacs reference card are available in the +Brasilian Portuguese and Russian. The corresponding PostScript files +are also included. + +** A French translation of the `Emacs Survival Guide' is available. + +** Emacs now supports new configure options `--program-prefix', +`--program-suffix' and `--program-transform-name' that affect the names of +installed programs. + +** By default, Emacs now uses a setgid helper program to update game +scores. The directory ${localstatedir}/games/emacs is the normal +place for game scores to be stored. You can control this with the +configure option `--with-game-dir'. The specific user that Emacs uses +to own the game scores is controlled by `--with-game-user'. If access +to a game user is not available, then scores will be stored separately +in each user's home directory. + +** Emacs now includes support for loading image libraries on demand. +(Currently this feature is only used on MS Windows.) You can configure +the supported image types and their associated dynamic libraries by +setting the variable `image-library-alist'. + +** Emacs can now be built without sound support. + +** Emacs Lisp source files are compressed by default if `gzip' is available. + +** All images used in Emacs have been consolidated in etc/images and subdirs. +See also the changes to `find-image', documented below. + +** Emacs comes with a new set of icons. +These icons are displayed on the taskbar and/or titlebar when Emacs +runs in a graphical environment. Source files for these icons can be +found in etc/images/icons. (You can't change the icons displayed by +Emacs by changing these files directly. On X, the icon is compiled +into the Emacs executable; see gnu.h in the source tree. On MS +Windows, see nt/icons/emacs.ico.) + +** The `emacsserver' program has been removed, replaced with Lisp code. + +** The `yow' program has been removed. +Use the corresponding Emacs feature instead. + +** The Emacs terminal emulation in term.el uses a different terminfo name. +The Emacs terminal emulation in term.el now uses "eterm-color" as its +terminfo name, since term.el now supports color. + +** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the +contents of buffers from a core dump and save them to files easily, should +Emacs crash. + +** Building with -DENABLE_CHECKING does not automatically build with union +types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. + +** When pure storage overflows while dumping, Emacs now prints how +much pure storage it will approximately need. + + +* Startup Changes in Emacs 22.1 + +** Init file changes +If the init file ~/.emacs does not exist, Emacs will try +~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file +~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh. + +** Emacs can now be invoked in full-screen mode on a windowed display. +When Emacs is invoked on a window system, the new command-line options +`--fullwidth', `--fullheight', and `--fullscreen' produce a frame +whose width, height, or both width and height take up the entire +screen size. (For now, this does not work with some window managers.) + +** Emacs now displays a splash screen by default even if command-line +arguments were given. The new command-line option --no-splash +disables the splash screen; see also the variable +`inhibit-splash-screen' (which is also aliased as +`inhibit-startup-message'). + +** New user option `inhibit-startup-buffer-menu'. +When loading many files, for instance with `emacs *', Emacs normally +displays a buffer menu. This option turns the buffer menu off. + +** New command line option -nbc or --no-blinking-cursor disables +the blinking cursor on graphical terminals. + +** The option --script FILE runs Emacs in batch mode and loads FILE. +It is useful for writing Emacs Lisp shell script files, because they +can start with this line: + + #!/usr/bin/emacs --script + +** The -f option, used from the command line to call a function, +now reads arguments for the function interactively if it is +an interactively callable function. + +** The option --directory DIR now modifies `load-path' immediately. +Directories are added to the front of `load-path' in the order they +appear on the command line. For example, with this command line: + + emacs -batch -L .. -L /tmp --eval "(require 'foo)" + +Emacs looks for library `foo' in the parent directory, then in /tmp, then +in the other directories in `load-path'. (-L is short for --directory.) + +** When you specify a frame size with --geometry, the size applies to +all frames you create. A position specified with --geometry only +affects the initial frame. + +** Emacs built for MS-Windows now behaves like Emacs on X does, +with respect to its frame position: if you don't specify a position +(in your .emacs init file, in the Registry, or with the --geometry +command-line option), Emacs leaves the frame position to the Windows' +window manager. + +** The command line option --no-windows has been changed to +--no-window-system. The old one still works, but is deprecated. + +** If the environment variable DISPLAY specifies an unreachable X display, +Emacs will now startup as if invoked with the --no-window-system option. + +** Emacs now reads the standard abbrevs file ~/.abbrev_defs +automatically at startup, if it exists. When Emacs offers to save +modified buffers, it saves the abbrevs too if they have changed. It +can do this either silently or asking for confirmation first, +according to the value of `save-abbrevs'. + +** New command line option -Q or --quick. +This is like using -q --no-site-file, but in addition it also disables +the fancy startup screen. + +** New command line option -D or --basic-display. +Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and +the blinking cursor. + +** The default is now to use a bitmap as the icon. +The command-line options --icon-type, -i have been replaced with +options --no-bitmap-icon, -nbi to turn the bitmap icon off. + +** If the environment variable EMAIL is defined, Emacs now uses its value +to compute the default value of `user-mail-address', in preference to +concatenation of `user-login-name' with the name of your host machine. + + +* Incompatible Editing Changes in Emacs 22.1 + +** You can now follow links by clicking Mouse-1 on the link. + +See below for more details. + +** When the undo information of the current command gets really large +(beyond the value of `undo-outer-limit'), Emacs discards it and warns +you about it. + +** When Emacs prompts for file names, SPC no longer completes the file name. +This is so filenames with embedded spaces could be input without the +need to quote the space with a C-q. The underlying changes in the +keymaps that are active in the minibuffer are described below under +"New keymaps for typing file names". + - If you want the old behavior back, put these two key bindings to your ++If you want the old behavior back, add these two key bindings to your +~/.emacs init file: + + (define-key minibuffer-local-filename-completion-map + " " 'minibuffer-complete-word) + (define-key minibuffer-local-must-match-filename-map + " " 'minibuffer-complete-word) + +** The completion commands TAB, SPC and ? in the minibuffer apply only +to the text before point. If there is text in the buffer after point, +it remains unchanged. + +** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special. + +See below under "incremental search changes". + +** M-g is now a prefix key. +M-g g and M-g M-g run goto-line. +M-g n and M-g M-n run next-error (like C-x `). +M-g p and M-g M-p run previous-error. + +** C-u M-g M-g switches to the most recent previous buffer, +and goes to the specified line in that buffer. + +When goto-line starts to execute, if there's a number in the buffer at +point then it acts as the default argument for the minibuffer. + +** M-o now is the prefix key for setting text properties; +M-o M-o requests refontification. + +** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer +a special case. + +Since the default input is the current directory, this has the effect +of specifying the current directory. Normally that means to visit the +directory with Dired. + +You can get the old behavior by typing C-x C-f M-n RET, which fetches +the actual file name into the minibuffer. + +** In Dired's ! command (dired-do-shell-command), `*' and `?' now +control substitution of the file names only when they are surrounded +by whitespace. This means you can now use them as shell wildcards +too. If you want to use just plain `*' as a wildcard, type `*""'; the +doublequotes make no difference in the shell, but they prevent +special treatment in `dired-do-shell-command'. + +** The info-search bindings on C-h C-f, C-h C-k and C-h C-i +have been moved to C-h F, C-h K and C-h S. + +** `apply-macro-to-region-lines' now operates on all lines that begin +in the region, rather than on all complete lines in the region. + +** line-move-ignore-invisible now defaults to t. + +** Adaptive filling misfeature removed. +It no longer treats `NNN.' or `(NNN)' as a prefix. + +** The old bindings C-M-delete and C-M-backspace have been deleted, +since there are situations where one or the other will shut down +the operating system or your X server. + +** The register compatibility key bindings (deprecated since Emacs 19) +have been removed: + C-x / point-to-register (Use: C-x r SPC) + C-x j jump-to-register (Use: C-x r j) + C-x x copy-to-register (Use: C-x r s) + C-x g insert-register (Use: C-x r i) + + +* Editing Changes in Emacs 22.1 + +** The max size of buffers and integers has been doubled. +On 32bit machines, it is now 256M (i.e. 268435455). + +** !MEM FULL! at the start of the mode line indicates that Emacs +cannot get any more memory for Lisp data. This often means it could +crash soon if you do things that use more memory. On most systems, +killing buffers will get out of this state. If killing buffers does +not make !MEM FULL! disappear, you should save your work and start +a new Emacs. + +** `undo-only' does an undo which does not redo any previous undo. + +** Yanking text now discards certain text properties that can +be inconvenient when you did not expect them. The variable +`yank-excluded-properties' specifies which ones. Insertion +of register contents and rectangles also discards these properties. + +** New command `kill-whole-line' kills an entire line at once. +By default, it is bound to C-S-. + +** M-SPC (just-one-space) when given a numeric argument N +converts whitespace around point to N spaces. + +** You can now switch buffers in a cyclic order with C-x C-left +(previous-buffer) and C-x C-right (next-buffer). C-x left and +C-x right can be used as well. The functions keep a different buffer +cycle for each frame, using the frame-local buffer list. + +** C-x 5 C-o displays a specified buffer in another frame +but does not switch to that frame. It's the multi-frame +analogue of C-x 4 C-o. + +** `special-display-buffer-names' and `special-display-regexps' now +understand two new boolean pseudo-frame-parameters `same-frame' and +`same-window'. + +** New commands to operate on pairs of open and close characters: +`insert-pair', `delete-pair', `raise-sexp'. + +** M-x setenv now expands environment variable references. + +Substrings of the form `$foo' and `${foo}' in the specified new value +now refer to the value of environment variable foo. To include a `$' +in the value, use `$$'. + +** The default values of paragraph-start and indent-line-function have +been changed to reflect those used in Text mode rather than those used +in Paragraph-Indent Text mode. + +** The default for the paper size (variable ps-paper-type) is taken +from the locale. + +** Help command changes: + +*** Changes in C-h bindings: + +C-h e displays the *Messages* buffer. + +C-h d runs apropos-documentation. + +C-h r visits the Emacs Manual in Info. + +C-h followed by a control character is used for displaying files + that do not change: + +C-h C-f displays the FAQ. +C-h C-e displays the PROBLEMS file. + +The info-search bindings on C-h C-f, C-h C-k and C-h C-i +have been moved to C-h F, C-h K and C-h S. + +C-h c, C-h k, C-h w, and C-h f now handle remapped interactive commands. +- C-h c and C-h k report the actual command (after possible remapping) + run by the key sequence. +- C-h w and C-h f on a command which has been remapped now report the + command it is remapped to, and the keys which can be used to run + that command. + +For example, if C-k is bound to kill-line, and kill-line is remapped +to new-kill-line, these commands now report: +- C-h c and C-h k C-k reports: + C-k runs the command new-kill-line +- C-h w and C-h f kill-line reports: + kill-line is remapped to new-kill-line which is on C-k, +- C-h w and C-h f new-kill-line reports: + new-kill-line is on C-k + +*** The apropos commands now accept a list of words to match. +When more than one word is specified, at least two of those words must +be present for an item to match. Regular expression matching is still +available. + +*** The new option `apropos-sort-by-scores' causes the matching items +to be sorted according to their score. The score for an item is a +number calculated to indicate how well the item matches the words or +regular expression that you entered to the apropos command. The best +match is listed first, and the calculated score is shown for each +matching item. + +*** Help commands `describe-function' and `describe-key' now show function +arguments in lowercase italics on displays that support it. To change the +default, customize face `help-argument-name' or redefine the function +`help-default-arg-highlight'. + +*** C-h v and C-h f commands now include a hyperlink to the C source for +variables and functions defined in C (if the C source is available). + +*** Help mode now only makes hyperlinks for faces when the face name is +preceded or followed by the word `face'. It no longer makes +hyperlinks for variables without variable documentation, unless +preceded by one of the words `variable' or `option'. It now makes +hyperlinks to Info anchors (or nodes) if the anchor (or node) name is +enclosed in single quotes and preceded by `info anchor' or `Info +anchor' (in addition to earlier `info node' and `Info node'). In +addition, it now makes hyperlinks to URLs as well if the URL is +enclosed in single quotes and preceded by `URL'. + +*** The new command `describe-char' (C-u C-x =) pops up a buffer with +description various information about a character, including its +encodings and syntax, its text properties, how to input, overlays, and +widgets at point. You can get more information about some of them, by +clicking on mouse-sensitive areas or moving there and pressing RET. + +*** The command `list-text-properties-at' has been deleted because +C-u C-x = gives the same information and more. + +*** New command `display-local-help' displays any local help at point +in the echo area. It is bound to `C-h .'. It normally displays the +same string that would be displayed on mouse-over using the +`help-echo' property, but, in certain cases, it can display a more +keyboard oriented alternative. + +*** New user option `help-at-pt-display-when-idle' allows you to +automatically show the help provided by `display-local-help' on +point-over, after suitable idle time. The amount of idle time is +determined by the user option `help-at-pt-timer-delay' and defaults +to one second. This feature is turned off by default. + +** Mark command changes: + +*** A prefix argument is no longer required to repeat a jump to a +previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u +C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC +to set the mark immediately after a jump. + +*** Marking commands extend the region when invoked multiple times. + +If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h +(mark-paragraph), or C-M-h (mark-defun) repeatedly, the marked region +extends each time, so you can mark the next two sexps with M-C-SPC +M-C-SPC, for example. This feature also works for +mark-end-of-sentence, if you bind that to a key. It also extends the +region when the mark is active in Transient Mark mode, regardless of +the last command. To start a new region with one of marking commands +in Transient Mark mode, you can deactivate the active region with C-g, +or set the new mark with C-SPC. + +*** Some commands do something special in Transient Mark mode when the +mark is active--for instance, they limit their operation to the +region. Even if you don't normally use Transient Mark mode, you might +want to get this behavior from a particular command. There are two +ways you can enable Transient Mark mode and activate the mark, for one +command only. + +One method is to type C-SPC C-SPC; this enables Transient Mark mode +and sets the mark at point. The other method is to type C-u C-x C-x. +This enables Transient Mark mode temporarily but does not alter the +mark or the region. + +After these commands, Transient Mark mode remains enabled until you +deactivate the mark. That typically happens when you type a command +that alters the buffer, but you can also deactivate the mark by typing +C-g. + +*** Movement commands `beginning-of-buffer', `end-of-buffer', +`beginning-of-defun', `end-of-defun' do not set the mark if the mark +is already active in Transient Mark mode. + +*** M-h (mark-paragraph) now accepts a prefix arg. + +With positive arg, M-h marks the current and the following paragraphs; +if the arg is negative, it marks the current and the preceding +paragraphs. + +** Incremental Search changes: + +*** M-% typed in isearch mode invokes `query-replace' or +`query-replace-regexp' (depending on search mode) with the current +search string used as the string to replace. + +*** C-w in incremental search now grabs either a character or a word, +making the decision in a heuristic way. This new job is done by the +command `isearch-yank-word-or-char'. To restore the old behavior, +bind C-w to `isearch-yank-word' in `isearch-mode-map'. + +*** C-y in incremental search now grabs the next line if point is already +at the end of a line. + +*** C-M-w deletes and C-M-y grabs a character in isearch mode. +Another method to grab a character is to enter the minibuffer by `M-e' +and to type `C-f' at the end of the search string in the minibuffer. + +*** Vertical scrolling is now possible within incremental search. +To enable this feature, customize the new user option +`isearch-allow-scroll'. User written commands which satisfy stringent +constraints can be marked as "scrolling commands". See the Emacs manual +for details. + +*** Isearch no longer adds `isearch-resume' commands to the command +history by default. To enable this feature, customize the new +user option `isearch-resume-in-command-history'. + +** Replace command changes: + +*** When used interactively, the commands `query-replace-regexp' and +`replace-regexp' allow \,expr to be used in a replacement string, +where expr is an arbitrary Lisp expression evaluated at replacement +time. `\#' in a replacement string now refers to the count of +replacements already made by the replacement command. All regular +expression replacement commands now allow `\?' in the replacement +string to specify a position where the replacement string can be +edited for each replacement. `query-replace-regexp-eval' is now +deprecated since it offers no additional functionality. + +*** query-replace uses isearch lazy highlighting when the new user option +`query-replace-lazy-highlight' is non-nil. + +*** The current match in query-replace is highlighted in new face +`query-replace' which by default inherits from isearch face. + +*** New user option `query-replace-skip-read-only': when non-nil, +`query-replace' and related functions simply ignore +a match if part of it has a read-only property. + +** Local variables lists: + +*** If the local variables list contains any variable-value pairs that +are not known to be safe, Emacs shows a prompt asking whether to apply +the local variables list as a whole. In earlier versions, a prompt +was only issued for variables explicitly marked as risky (for the +definition of risky variables, see `risky-local-variable-p'). + +At the prompt, you can choose to save the contents of this local +variables list to `safe-local-variable-values'. This new customizable +option is a list of variable-value pairs that are known to be safe. +Variables can also be marked as safe with the existing +`safe-local-variable' property (see `safe-local-variable-p'). +However, risky variables will not be added to +`safe-local-variable-values' in this way. + +*** The variable `enable-local-variables' controls how local variable +lists are handled. t, the default, specifies the standard querying +behavior. :safe means use only safe values, and ignore the rest. +:all means set all variables, whether or not they are safe. +nil means ignore them all. Anything else means always query. + +*** The variable `safe-local-eval-forms' specifies a list of forms that +are ok to evaluate when they appear in an `eval' local variables +specification. Normally Emacs asks for confirmation before evaluating +such a form, but if the form appears in this list, no confirmation is +needed. + +*** If a function has a non-nil `safe-local-eval-function' property, +that means it is ok to evaluate some calls to that function when it +appears in an `eval' local variables specification. If the property +is t, then any form calling that function with constant arguments is +ok. If the property is a function or list of functions, they are called +with the form as argument, and if any returns t, the form is ok to call. + +If the form is not "ok to call", that means Emacs asks for +confirmation as before. + +*** In processing a local variables list, Emacs strips the prefix and +suffix from every line before processing all the lines. + +*** Text properties in local variables. + +A file local variables list cannot specify a string with text +properties--any specified text properties are discarded. + +** File operation changes: + +*** Unquoted `$' in file names do not signal an error any more when +the corresponding environment variable does not exist. +Instead, the `$ENVVAR' text is left as is, so that `$$' quoting +is only rarely needed. + +*** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case. + +Since the default input is the current directory, this has the effect +of specifying the current directory. Normally that means to visit the +directory with Dired. + +*** C-x s (save-some-buffers) now offers an option `d' to diff a buffer +against its file, so you can see what changes you would be saving. + +*** Auto Compression mode is now enabled by default. + +*** If the user visits a file larger than `large-file-warning-threshold', +Emacs asks for confirmation. + +*** The commands copy-file, rename-file, make-symbolic-link and +add-name-to-file, when given a directory as the "new name" argument, +convert it to a file name by merging in the within-directory part of +the existing file's name. (This is the same convention that shell +commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET +/tmp RET copies ~/foo to /tmp/foo. + +*** require-final-newline now has two new possible values: + +`visit' means add a newline (as an undoable change) if it's needed +when visiting the file. + +`visit-save' means add a newline (as an undoable change) if it's +needed when visiting the file, and also add a newline if it's needed +when saving the file. + +*** The new option mode-require-final-newline controls how certain +major modes enable require-final-newline. Any major mode that's +designed for a kind of file that should normally end in a newline +sets require-final-newline based on mode-require-final-newline. +So you can customize mode-require-final-newline to control what these +modes do. + +*** When you are root, and you visit a file whose modes specify +read-only, the Emacs buffer is now read-only too. Type C-x C-q if you +want to make the buffer writable. (As root, you can in fact alter the +file.) + +*** find-file-read-only visits multiple files in read-only mode, +when the file name contains wildcard characters. + +*** find-alternate-file replaces the current file with multiple files, +when the file name contains wildcard characters. It now asks if you +wish save your changes and not just offer to kill the buffer. + +*** When used interactively, `format-write-file' now asks for confirmation +before overwriting an existing file, unless a prefix argument is +supplied. This behavior is analogous to `write-file'. + +*** The variable `auto-save-file-name-transforms' now has a third element that +controls whether or not the function `make-auto-save-file-name' will +attempt to construct a unique auto-save name (e.g. for remote files). + +*** The new option `write-region-inhibit-fsync' disables calls to fsync +in `write-region'. This can be useful on laptops to avoid spinning up +the hard drive upon each file save. Enabling this variable may result +in data loss, use with care. + +** Minibuffer changes: + +*** The completion commands TAB, SPC and ? in the minibuffer apply only +to the text before point. If there is text in the buffer after point, +it remains unchanged. + +*** The new file-name-shadow-mode is turned ON by default, so that when +entering a file name, any prefix which Emacs will ignore is dimmed. + +*** There's a new face `minibuffer-prompt'. +Emacs adds this face to the list of text properties stored in the +variable `minibuffer-prompt-properties', which is used to display the +prompt string. + +*** Enhanced visual feedback in `*Completions*' buffer. + +Completions lists use faces to highlight what all completions +have in common and where they begin to differ. + +The common prefix shared by all possible completions uses the face +`completions-common-part', while the first character that isn't the +same uses the face `completions-first-difference'. By default, +`completions-common-part' inherits from `default', and +`completions-first-difference' inherits from `bold'. The idea of +`completions-common-part' is that you can use it to make the common +parts less visible than normal, so that the rest of the differing +parts is, by contrast, slightly highlighted. + +Above fontification is always done when listing completions is +triggered at minibuffer. If you want to fontify completions whose +listing is triggered at the other normal buffer, you have to pass +the common prefix of completions to `display-completion-list' as +its second argument. + +*** File-name completion can now ignore specified directories. +If an element of the list in `completion-ignored-extensions' ends in a +slash `/', it indicates a subdirectory that should be ignored when +completing file names. Elements of `completion-ignored-extensions' +which do not end in a slash are never considered when a completion +candidate is a directory. + +*** New user option `history-delete-duplicates'. +If set to t when adding a new history element, all previous identical +elements are deleted from the history list. + +** Redisplay changes: + +*** The new face `mode-line-inactive' is used to display the mode line +of non-selected windows. The `mode-line' face is now used to display +the mode line of the currently selected window. + +The new variable `mode-line-in-non-selected-windows' controls whether +the `mode-line-inactive' face is used. + +*** The mode line position information now comes before the major mode. +When the file is maintained under version control, that information +appears between the position information and the major mode. + +*** You can now customize the use of window fringes. To control this +for all frames, use M-x fringe-mode or the Show/Hide submenu of the +top-level Options menu, or customize the `fringe-mode' variable. To +control this for a specific frame, use the command M-x +set-fringe-style. + +*** Angle icons in the fringes can indicate the buffer boundaries. In +addition, up and down arrow bitmaps in the fringe indicate which ways +the window can be scrolled. + +This behavior is activated by setting the buffer-local variable +`indicate-buffer-boundaries' to a non-nil value. The default value of +this variable is found in `default-indicate-buffer-boundaries'. + +If value is `left' or `right', both angle and arrow bitmaps are +displayed in the left or right fringe, resp. + +The value can also be an alist which specifies the presence and +position of each bitmap individually. + +For example, ((top . left) (t . right)) places the top angle bitmap +in left fringe, the bottom angle bitmap in right fringe, and both +arrow bitmaps in right fringe. To show just the angle bitmaps in the +left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). + +*** On window systems, lines which are exactly as wide as the window +(not counting the final newline character) are no longer broken into +two lines on the display (with just the newline on the second line). +Instead, the newline now "overflows" into the right fringe, and the +cursor will be displayed in the fringe when positioned on that newline. + +The new user option 'overflow-newline-into-fringe' can be set to nil to +revert to the old behavior of continuing such lines. + +*** A window can now have individual fringe and scroll-bar settings, +in addition to the individual display margin settings. + +Such individual settings are now preserved when windows are split +horizontally or vertically, a saved window configuration is restored, +or when the frame is resized. + +*** When a window has display margin areas, the fringes are now +displayed between the margins and the buffer's text area, rather than +outside those margins. + +*** New face `escape-glyph' highlights control characters and escape glyphs. + +*** Non-breaking space and hyphens are now displayed with a special +face, either nobreak-space or escape-glyph. You can turn this off or +specify a different mode by setting the variable `nobreak-char-display'. + +*** The parameters of automatic hscrolling can now be customized. +The variable `hscroll-margin' determines how many columns away from +the window edge point is allowed to get before automatic hscrolling +will horizontally scroll the window. The default value is 5. + +The variable `hscroll-step' determines how many columns automatic +hscrolling scrolls the window when point gets too close to the +window edge. If its value is zero, the default, Emacs scrolls the +window so as to center point. If its value is an integer, it says how +many columns to scroll. If the value is a floating-point number, it +gives the fraction of the window's width to scroll the window. + +The variable `automatic-hscrolling' was renamed to +`auto-hscroll-mode'. The old name is still available as an alias. + +*** Moving or scrolling through images (and other lines) taller than +the window now works sensibly, by automatically adjusting the window's +vscroll property. + +*** Preemptive redisplay now adapts to current load and bandwidth. + +To avoid preempting redisplay on fast computers, networks, and displays, +the arrival of new input is now performed at regular intervals during +redisplay. The new variable `redisplay-preemption-period' specifies +the period; the default is to check for input every 0.1 seconds. + +*** The %c and %l constructs are now ignored in frame-title-format. +Due to technical limitations in how Emacs interacts with windowing +systems, these constructs often failed to render properly, and could +even cause Emacs to crash. + +*** If value of `auto-resize-tool-bars' is `grow-only', the tool bar +will expand as needed, but not contract automatically. To contract +the tool bar, you must type C-l. + +*** New customize option `overline-margin' controls the space between +overline and text. + +*** New variable `x-underline-at-descent-line' controls the relative +position of the underline. When set, it overrides the +`x-use-underline-position-properties' variables. + +** New faces: + +*** `mode-line-highlight' is the standard face indicating mouse sensitive +elements on mode-line (and header-line) like `highlight' face on text +areas. + +*** `mode-line-buffer-id' is the standard face for buffer identification +parts of the mode line. + +*** `shadow' face defines the appearance of the "shadowed" text, i.e. +the text which should be less noticeable than the surrounding text. +This can be achieved by using shades of grey in contrast with either +black or white default foreground color. This generic shadow face +allows customization of the appearance of shadowed text in one place, +so package-specific faces can inherit from it. + +*** `vertical-border' face is used for the vertical divider between windows. + +** Font-Lock (syntax highlighting) changes: + +*** All modes now support using M-x font-lock-mode to toggle +fontification, even those such as Occur, Info, and comint-derived +modes that do their own fontification in a special way. + +The variable `Info-fontify' is no longer applicable; to disable +fontification in Info, remove `turn-on-font-lock' from +`Info-mode-hook'. + +*** New standard font-lock face `font-lock-comment-delimiter-face'. + +*** New standard font-lock face `font-lock-preprocessor-face'. + +*** Easy to overlook single character negation can now be font-locked. +You can use the new variable `font-lock-negation-char-face' and the face of +the same name to customize this. Currently the cc-modes, sh-script-mode, +cperl-mode and make-mode support this. + +*** Font-Lock mode: in major modes such as Lisp mode, where some Emacs +features assume that an open-paren in column 0 is always outside of +any string or comment, Font-Lock now highlights any such open-paren in +bold-red if it is inside a string or a comment, to indicate that it +can cause trouble. You should rewrite the string or comment so that +the open-paren is not in column 0. + +*** M-o now is the prefix key for setting text properties; +M-o M-o requests refontification. + +*** The default settings for JIT stealth lock parameters are changed. +The default value for the user option jit-lock-stealth-time is now nil +instead of 3. This setting of jit-lock-stealth-time disables stealth +fontification: on today's machines, it may be a bug in font lock +patterns if fontification otherwise noticeably degrades interactivity. +If you find movement in infrequently visited buffers sluggish (and the +major mode maintainer has no better idea), customizing +jit-lock-stealth-time to a non-nil value will let Emacs fontify +buffers in the background when it considers the system to be idle. +jit-lock-stealth-nice is now 0.5 instead of 0.125 which is supposed to +cause less load than the old defaults. + +*** jit-lock can now be delayed with `jit-lock-defer-time'. + +If this variable is non-nil, its value should be the amount of Emacs +idle time in seconds to wait before starting fontification. For +example, if you set `jit-lock-defer-time' to 0.25, fontification will +only happen after 0.25s of idle time. + +*** contextual refontification is now separate from stealth fontification. + +jit-lock-defer-contextually is renamed jit-lock-contextually and +jit-lock-context-time determines the delay after which contextual +refontification takes place. + +*** lazy-lock is considered obsolete. + +The `lazy-lock' package is superseded by `jit-lock' and is considered +obsolete. `jit-lock' is activated by default; if you wish to continue +using `lazy-lock', activate it in your ~/.emacs like this: + (setq font-lock-support-mode 'lazy-lock-mode) + +If you invoke `lazy-lock-mode' directly rather than through +`font-lock-support-mode', it now issues a warning: + "Use font-lock-support-mode rather than calling lazy-lock-mode" + +** Menu support: + +*** A menu item "Show/Hide" was added to the top-level menu "Options". +This menu allows you to turn various display features on and off (such +as the fringes, the tool bar, the speedbar, and the menu bar itself). +You can also move the vertical scroll bar to either side here or turn +it off completely. There is also a menu-item to toggle displaying of +current date and time, current line and column number in the mode-line. + +*** Speedbar has moved from the "Tools" top level menu to "Show/Hide". + +*** The menu item "Open File..." has been split into two items, "New File..." +and "Open File...". "Open File..." now opens only existing files. This is +to support existing GUI file selection dialogs better. + +*** The file selection dialog for Gtk+, Mac, W32 and Motif/LessTif can be +disabled by customizing the variable `use-file-dialog'. + +*** The pop up menus for Lucid now stay up if you do a fast click and can +be navigated with the arrow keys (like Gtk+, Mac and W32). + +*** The menu bar for Motif/LessTif/Lucid/Gtk+ can be navigated with keys. +Pressing F10 shows the first menu in the menu bar. Navigation is done with +the arrow keys, select with the return key and cancel with the escape keys. + +*** The Lucid menus can display multilingual text in your locale. You have +to explicitly specify a fontSet resource for this to work, for example +`-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'. + +*** Dialogs for Lucid/Athena and LessTif/Motif now pop down on pressing +ESC, like they do for Gtk+, Mac and W32. + +*** For the Gtk+ version, you can make Emacs use the old file dialog +by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use +the new dialog. + +*** You can exit dialog windows and menus by typing C-g. + +** Buffer Menu changes: + +*** The new options `buffers-menu-show-directories' and +`buffers-menu-show-status' let you control how buffers are displayed +in the menu dropped down when you click "Buffers" from the menu bar. + +`buffers-menu-show-directories' controls whether the menu displays +leading directories as part of the file name visited by the buffer. +If its value is `unless-uniquify', the default, directories are +shown unless uniquify-buffer-name-style' is non-nil. The value of nil +and t turn the display of directories off and on, respectively. + +`buffers-menu-show-status' controls whether the Buffers menu includes +the modified and read-only status of the buffers. By default it is +t, and the status is shown. + +Setting these variables directly does not take effect until next time +the Buffers menu is regenerated. + +*** New command `Buffer-menu-toggle-files-only' toggles display of file +buffers only in the Buffer Menu. It is bound to T in Buffer Menu +mode. + +*** `buffer-menu' and `list-buffers' now list buffers whose names begin +with a space, when those buffers are visiting files. Normally buffers +whose names begin with space are omitted. + +** Mouse changes: + +*** You can now follow links by clicking Mouse-1 on the link. + +Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2 +click to follow a link, whereas most other applications use a Mouse-1 +click for both purposes, depending on whether you click outside or +inside a link. Now the behavior of a Mouse-1 click has been changed +to match this context-sensitive dual behavior. (If you prefer the old +behavior, set the user option `mouse-1-click-follows-link' to nil.) + +Depending on the current mode, a Mouse-2 click in Emacs can do much +more than just follow a link, so the new Mouse-1 behavior is only +activated for modes which explicitly mark a clickable text as a "link" +(see the new function `mouse-on-link-p' for details). The Lisp +packages that are included in release 22.1 have been adapted to do +this, but external packages may not yet support this. However, there +is no risk in using such packages, as the worst thing that could +happen is that you get the original Mouse-1 behavior when you click +on a link, which typically means that you set point where you click. + +If you want to get the original Mouse-1 action also inside a link, you +just need to press the Mouse-1 button a little longer than a normal +click (i.e. press and hold the Mouse-1 button for half a second before +you release it). + +Dragging the Mouse-1 inside a link still performs the original +drag-mouse-1 action, typically copy the text. + +You can customize the new Mouse-1 behavior via the new user options +`mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'. + +*** If you set the new variable `mouse-autoselect-window' to a non-nil +value, windows are automatically selected as you move the mouse from +one Emacs window to another, even within a frame. A minibuffer window +can be selected only when it is active. + +*** On X, when the window manager requires that you click on a frame to +select it (give it focus), the selected window and cursor position +normally changes according to the mouse click position. If you set +the variable x-mouse-click-focus-ignore-position to t, the selected +window and cursor position do not change when you click on a frame +to give it focus. + +*** Emacs normally highlights mouse sensitive text whenever the mouse +is over the text. By setting the new variable `mouse-highlight', you +can optionally enable mouse highlighting only after you move the +mouse, so that highlighting disappears when you press a key. You can +also disable mouse highlighting. + +*** You can now customize if selecting a region by dragging the mouse +shall not copy the selected text to the kill-ring by setting the new +variable mouse-drag-copy-region to nil. + +*** Under X, mouse-wheel-mode is turned on by default. + +*** Emacs ignores mouse-2 clicks while the mouse wheel is being moved. + +People tend to push the mouse wheel (which counts as a mouse-2 click) +unintentionally while turning the wheel, so these clicks are now +ignored. You can customize this with the mouse-wheel-click-event and +mouse-wheel-inhibit-click-time variables. + +*** mouse-wheels can now scroll a specific fraction of the window +(rather than a fixed number of lines) and the scrolling is `progressive'. + +** Multilingual Environment (Mule) changes: + +*** You can disable character translation for a file using the -*- +construct. Include `enable-character-translation: nil' inside the +-*-...-*- to disable any character translation that may happen by +various global and per-coding-system translation tables. You can also +specify it in a local variable list at the end of the file. For +shortcut, instead of using this long variable name, you can append the +character "!" at the end of coding-system name specified in -*- +construct or in a local variable list. For example, if a file has the +following header, it is decoded by the coding system `iso-latin-1' +without any character translation: +;; -*- coding: iso-latin-1!; -*- + +*** Language environment and various default coding systems are setup +more correctly according to the current locale name. If the locale +name doesn't specify a charset, the default is what glibc defines. +This change can result in using the different coding systems as +default in some locale (e.g. vi_VN). + +*** The keyboard-coding-system is now automatically set based on your +current locale settings if you are not using a window system. This +can mean that the META key doesn't work but generates non-ASCII +characters instead, depending on how the terminal (or terminal +emulator) works. Use `set-keyboard-coding-system' (or customize +keyboard-coding-system) if you prefer META to work (the old default) +or if the locale doesn't describe the character set actually generated +by the keyboard. See Info node `Unibyte Mode'. + +*** The new command `set-file-name-coding-system' (C-x RET F) sets +coding system for encoding and decoding file names. A new menu item +(Options->Mule->Set Coding Systems->For File Name) invokes this +command. + +*** The new command `revert-buffer-with-coding-system' (C-x RET r) +revisits the current file using a coding system that you specify. + +*** New command `recode-region' decodes the region again by a specified +coding system. + +*** The new command `recode-file-name' changes the encoding of the name +of a file. + +*** New command `ucs-insert' inserts a character specified by its +unicode. + +*** New command quail-show-key shows what key (or key sequence) to type +in the current input method to input a character at point. + +*** Limited support for character `unification' has been added. +Emacs now knows how to translate between different representations of +the same characters in various Emacs charsets according to standard +Unicode mappings. This applies mainly to characters in the ISO 8859 +sets plus some other 8-bit sets, but can be extended. For instance, +translation works amongst the Emacs ...-iso8859-... charsets and the +mule-unicode-... ones. + +By default this translation happens automatically on encoding. +Self-inserting characters are translated to make the input conformant +with the encoding of the buffer in which it's being used, where +possible. + +You can force a more complete unification with the user option +unify-8859-on-decoding-mode. That maps all the Latin-N character sets +into Unicode characters (from the latin-iso8859-1 and +mule-unicode-0100-24ff charsets) on decoding. Note that this mode +will often effectively clobber data with an iso-2022 encoding. + +*** New language environments (set up automatically according to the +locale): Belarusian, Bulgarian, Chinese-EUC-TW, Croatian, Esperanto, +French, Georgian, Italian, Latin-7, Latvian, Lithuanian, Malayalam, +Russian, Russian, Slovenian, Swedish, Tajik, Tamil, UTF-8,Ukrainian, +Welsh,Latin-6, Windows-1255. + +*** New input methods: latin-alt-postfix, latin-postfix, latin-prefix, +belarusian, bulgarian-bds, bulgarian-phonetic, chinese-sisheng (for +Chinese Pinyin characters), croatian, dutch, georgian, latvian-keyboard, +lithuanian-numeric, lithuanian-keyboard, malayalam-inscript, rfc1345, +russian-computer, sgml, slovenian, tamil-inscript, ukrainian-computer, +ucs, vietnamese-telex, welsh. + +*** There is support for decoding Greek and Cyrillic characters into +either Unicode (the mule-unicode charsets) or the iso-8859 charsets, +when possible. The latter are more space-efficient. + This is controlled by user option utf-fragment-on-decoding. + +*** Improved Thai support. A new minor mode `thai-word-mode' (which is +automatically activated if you select Thai as a language +environment) changes key bindings of most word-oriented commands to +versions which recognize Thai words. Affected commands are + M-f (forward-word) + M-b (backward-word) + M-d (kill-word) + M-DEL (backward-kill-word) + M-t (transpose-words) + M-q (fill-paragraph) + +*** Indian support has been updated. +The in-is13194 coding system is now Unicode-based. CDAC fonts are +assumed. There is a framework for supporting various Indian scripts, +but currently only Devanagari, Malayalam and Tamil are supported. + +*** The utf-8/16 coding systems have been enhanced. +By default, untranslatable utf-8 sequences are simply composed into +single quasi-characters. User option `utf-translate-cjk-mode' (it is +turned on by default) arranges to translate many utf-8 CJK character +sequences into real Emacs characters in a similar way to the Mule-UCS +system. As this loads a fairly big data on demand, people who are not +interested in CJK characters may want to customize it to nil. +You can augment/amend the CJK translation via hash tables +`ucs-mule-cjk-to-unicode' and `ucs-unicode-to-mule-cjk'. The utf-8 +coding system now also encodes characters from most of Emacs's +one-dimensional internal charsets, specifically the ISO-8859 ones. +The utf-16 coding system is affected similarly. + +*** A UTF-7 coding system is available in the library `utf-7'. + +*** A new coding system `euc-tw' has been added for traditional Chinese +in CNS encoding; it accepts both Big 5 and CNS as input; on saving, +Big 5 is then converted to CNS. + +*** Many new coding systems are available in the `code-pages' library. +These include complete versions of most of those in codepage.el, based +on Unicode mappings. `codepage-setup' is now obsolete and is used +only in the MS-DOS port of Emacs. All coding systems defined in +`code-pages' are auto-loaded. + +*** New variable `utf-translate-cjk-unicode-range' controls which +Unicode characters to translate in `utf-translate-cjk-mode'. + +*** iso-10646-1 (`Unicode') fonts can be used to display any range of +characters encodable by the utf-8 coding system. Just specify the +fontset appropriately. + +** Customize changes: + +*** Custom themes are collections of customize options. Create a +custom theme with M-x customize-create-theme. Use M-x load-theme to +load and enable a theme, and M-x disable-theme to disable it. Use M-x +enable-theme to enable a disabled theme. + +*** The commands M-x customize-face and M-x customize-face-other-window +now look at the character after point. If a face or faces are +specified for that character, the commands by default customize those +faces. + +*** The face-customization widget has been reworked to be less confusing. +In particular, when you enable a face attribute using the corresponding +check-box, there's no longer a redundant `*' option in value selection +for that attribute; the values you can choose are only those which make +sense for the attribute. When an attribute is de-selected by unchecking +its check-box, then the (now ignored, but still present temporarily in +case you re-select the attribute) value is hidden. + +*** When you set or reset a variable's value in a Customize buffer, +the previous value becomes the "backup value" of the variable. +You can go back to that backup value by selecting "Use Backup Value" +under the "[State]" button. + +** Dired mode: + +*** In Dired's ! command (dired-do-shell-command), `*' and `?' now +control substitution of the file names only when they are surrounded +by whitespace. This means you can now use them as shell wildcards +too. If you want to use just plain `*' as a wildcard, type `*""'; the +double quotes make no difference in the shell, but they prevent +special treatment in `dired-do-shell-command'. + +*** The Dired command `dired-goto-file' is now bound to j, not M-g. +This is to avoid hiding the global key binding of M-g. + +*** New faces dired-header, dired-mark, dired-marked, dired-flagged, +dired-ignored, dired-directory, dired-symlink, dired-warning +introduced for Dired mode instead of font-lock faces. + +*** New Dired command `dired-compare-directories' marks files +with different file attributes in two dired buffers. + +*** New Dired command `dired-do-touch' (bound to T) changes timestamps +of marked files with the value entered in the minibuffer. + +*** In Dired, the w command now stores the current line's file name +into the kill ring. With a zero prefix arg, it stores the absolute file name. + +*** In Dired-x, Omitting files is now a minor mode, dired-omit-mode. + +The mode toggling command is bound to M-o. A new command +dired-mark-omitted, bound to * O, marks omitted files. The variable +dired-omit-files-p is obsoleted, use the mode toggling function +instead. + +*** The variables dired-free-space-program and dired-free-space-args +have been renamed to directory-free-space-program and +directory-free-space-args, and they now apply whenever Emacs puts a +directory listing into a buffer. + +** Comint changes: + +*** The new INSIDE_EMACS environment variable is set to "t" in subshells +running inside Emacs. This supersedes the EMACS environment variable, +which will be removed in a future Emacs release. Programs that need +to know whether they are started inside Emacs should check INSIDE_EMACS +instead of EMACS. + +*** The comint prompt can now be made read-only, using the new user +option `comint-prompt-read-only'. This is not enabled by default, +except in IELM buffers. The read-only status of IELM prompts can be +controlled with the new user option `ielm-prompt-read-only', which +overrides `comint-prompt-read-only'. + +The new commands `comint-kill-whole-line' and `comint-kill-region' +support editing comint buffers with read-only prompts. + +`comint-kill-whole-line' is like `kill-whole-line', but ignores both +read-only and field properties. Hence, it always kill entire +lines, including any prompts. + +`comint-kill-region' is like `kill-region', except that it ignores +read-only properties, if it is safe to do so. This means that if any +part of a prompt is deleted, then the entire prompt must be deleted +and that all prompts must stay at the beginning of a line. If this is +not the case, then `comint-kill-region' behaves just like +`kill-region' if read-only properties are involved: it copies the text +to the kill-ring, but does not delete it. + +*** The new command `comint-insert-previous-argument' in comint-derived +modes (shell-mode, etc.) inserts arguments from previous command lines, +like bash's `ESC .' binding. It is bound by default to `C-c .', but +otherwise behaves quite similarly to the bash version. + +*** `comint-use-prompt-regexp-instead-of-fields' has been renamed +`comint-use-prompt-regexp'. The old name has been kept as an alias, +but declared obsolete. + +** M-x Compile changes: + +*** M-x compile has become more robust and reliable + +Quite a few more kinds of messages are recognized. Messages that are +recognized as warnings or informational come in orange or green, instead of +red. Informational messages are by default skipped with `next-error' +(controlled by `compilation-skip-threshold'). + +Location data is collected on the fly as the *compilation* buffer changes. +This means you could modify messages to make them point to different files. +This also means you can not go to locations of messages you may have deleted. + +The variable `compilation-error-regexp-alist' has now become customizable. If +you had added your own regexps to this, you'll probably need to include a +leading `^', otherwise they'll match anywhere on a line. There is now also a +`compilation-mode-font-lock-keywords' and it nicely handles all the checks +that configure outputs and -o options so you see at a glance where you are. + +The new file etc/compilation.txt gives examples of each type of message. + +*** New user option `compilation-environment'. +This option allows you to specify environment variables for inferior +compilation processes without affecting the environment that all +subprocesses inherit. + +*** New user option `compilation-disable-input'. +If this is non-nil, send end-of-file as compilation process input. + +*** New options `next-error-highlight' and `next-error-highlight-no-select' +specify the method of highlighting of the corresponding source line +in new face `next-error'. + +*** A new minor mode `next-error-follow-minor-mode' can be used in +compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the +modes that can use `next-error'). In this mode, cursor motion in the +buffer causes automatic display in another window of the corresponding +matches, compilation errors, etc. This minor mode can be toggled with +C-c C-f. + +*** When the left fringe is displayed, an arrow points to current message in +the compilation buffer. + +*** The new variable `compilation-context-lines' controls lines of leading +context before the current message. If nil and the left fringe is displayed, +it doesn't scroll the compilation output window. If there is no left fringe, +no arrow is displayed and a value of nil means display the message at the top +of the window. + +** Occur mode changes: + +*** The new command `multi-occur' is just like `occur', except it can +search multiple buffers. There is also a new command +`multi-occur-in-matching-buffers' which allows you to specify the +buffers to search by their filenames or buffer names. Internally, +Occur mode has been rewritten, and now uses font-lock, among other +changes. + +*** You can now use next-error (C-x `) and previous-error to advance to +the next/previous matching line found by M-x occur. + +*** In the *Occur* buffer, `o' switches to it in another window, and +C-o displays the current line's occurrence in another window without +switching to it. + +** Grep changes: + +*** Grep has been decoupled from compilation mode setup. + +There's a new separate package grep.el, with its own submenu and +customization group. + +*** `grep-find' is now also available under the name `find-grep' where +people knowing `find-grep-dired' would probably expect it. + +*** New commands `lgrep' (local grep) and `rgrep' (recursive grep) are +more user-friendly versions of `grep' and `grep-find', which prompt +separately for the regular expression to match, the files to search, +and the base directory for the search. Case sensitivity of the +search is controlled by the current value of `case-fold-search'. + +These commands build the shell commands based on the new variables +`grep-template' (lgrep) and `grep-find-template' (rgrep). + +The files to search can use aliases defined in `grep-files-aliases'. + +Subdirectories listed in `grep-find-ignored-directories' such as those +typically used by various version control systems, like CVS and arch, +are automatically skipped by `rgrep'. + +*** The grep commands provide highlighting support. + +Hits are fontified in green, and hits in binary files in orange. Grep buffers +can be saved and automatically revisited. + +*** New option `grep-highlight-matches' highlights matches in *grep* +buffer. It uses a special feature of some grep programs which accept +--color option to output markers around matches. When going to the next +match with `next-error' the exact match is highlighted in the source +buffer. Otherwise, if `grep-highlight-matches' is nil, the whole +source line is highlighted. + +*** New key bindings in grep output window: +SPC and DEL scrolls window up and down. C-n and C-p moves to next and +previous match in the grep window. RET jumps to the source line of +the current match. `n' and `p' shows next and previous match in +other window, but does not switch buffer. `{' and `}' jumps to the +previous or next file in the grep output. TAB also jumps to the next +file. + +*** M-x grep now tries to avoid appending `/dev/null' to the command line +by using GNU grep `-H' option instead. M-x grep automatically +detects whether this is possible or not the first time it is invoked. +When `-H' is used, the grep command line supplied by the user is passed +unchanged to the system to execute, which allows more complicated +command lines to be used than was possible before. + +*** The new variables `grep-window-height' and `grep-scroll-output' override +the corresponding compilation mode settings, for grep commands only. + +** Cursor display changes: + +*** Emacs can produce an underscore-like (horizontal bar) cursor. +The underscore cursor is set by putting `(cursor-type . hbar)' in +default-frame-alist. It supports variable heights, like the `bar' +cursor does. + +*** The variable `cursor-in-non-selected-windows' can now be set to any +of the recognized cursor types. + +*** Display of hollow cursors now obeys the buffer-local value (if any) +of `cursor-in-non-selected-windows' in the buffer that the cursor +appears in. + +*** On text terminals, the variable `visible-cursor' controls whether Emacs +uses the "very visible" cursor (the default) or the normal cursor. + +*** The X resource cursorBlink can be used to turn off cursor blinking. + +*** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is +now controlled by the variable `blink-cursor-alist'. + +** X Windows Support: + +*** Emacs now supports drag and drop for X. Dropping a file on a window +opens it, dropping text inserts the text. Dropping a file on a dired +buffer copies or moves the file to that directory. + +*** Under X11, it is possible to swap Alt and Meta (and Super and Hyper). +The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym', +and `x-super-keysym' can be used to choose which keysyms Emacs should +use for the modifiers. For example, the following two lines swap +Meta and Alt: + (setq x-alt-keysym 'meta) + (setq x-meta-keysym 'alt) + +*** The X resource useXIM can be used to turn off use of XIM, which can +speed up Emacs with slow networking to the X server. + +If the configure option `--without-xim' was used to turn off use of +XIM by default, the X resource useXIM can be used to turn it on. + +*** The new variable `x-select-request-type' controls how Emacs +requests X selection. The default value is nil, which means that +Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING, +and use the more appropriately result. + +*** The scrollbar under LessTif or Motif has a smoother drag-scrolling. +On the other hand, the size of the thumb does not represent the actual +amount of text shown any more (only a crude approximation of it). + +** Xterm support: + +*** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks +on the mode line, header line and display margin, when run in an xterm. + +*** Improved key bindings support when running in an xterm. +When Emacs is running in an xterm more key bindings are available. +The following should work: +{C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}. +These key bindings work on xterm from X.org 6.8 (and later versions), +they might not work on some older versions of xterm, or on some +proprietary versions. +The various keys generated by xterm when the "modifyOtherKeys" +resource is set are also supported. + +** Character terminal color support changes: + +*** The new command-line option --color=MODE lets you specify a standard +mode for a tty color support. It is meant to be used on character +terminals whose capabilities are not set correctly in the terminal +database, or with terminal emulators which support colors, but don't +set the TERM environment variable to a name of a color-capable +terminal. "emacs --color" uses the same color commands as GNU `ls' +when invoked with "ls --color", so if your terminal can support colors +in "ls --color", it will support "emacs --color" as well. See the +user manual for the possible values of the MODE parameter. + +*** Emacs now supports several character terminals which provide more +than 8 colors. For example, for `xterm', 16-color, 88-color, and +256-color modes are supported. Emacs automatically notes at startup +the extended number of colors, and defines the appropriate entries for +all of these colors. + +*** Emacs now uses the full range of available colors for the default +faces when running on a color terminal, including 16-, 88-, and +256-color xterms. This means that when you run "emacs -nw" on an +88-color or 256-color xterm, you will see essentially the same face +colors as on X. + +*** There's a new support for colors on `rxvt' terminal emulator. + +** ebnf2ps changes: + +*** New option `ebnf-arrow-extra-width' which specify extra width for arrow +shape drawing. +The extra width is used to avoid that the arrowhead and the terminal border +overlap. It depends on `ebnf-arrow-shape' and `ebnf-line-width'. + +*** New option `ebnf-arrow-scale' which specify the arrow scale. +Values lower than 1.0, shrink the arrow. +Values greater than 1.0, expand the arrow. + +* New Modes and Packages in Emacs 22.1 + +** CUA mode is now part of the Emacs distribution. + +The new cua package provides CUA-like keybindings using C-x for +cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo. +With cua, the region can be set and extended using shifted movement +keys (like pc-selection-mode) and typed text replaces the active +region (like delete-selection-mode). Do not enable these modes with +cua-mode. Customize the variable `cua-mode' to enable cua. + +The cua-selection-mode enables the CUA keybindings for the region but +does not change the bindings for C-z/C-x/C-c/C-v. It can be used as a +replacement for pc-selection-mode. + +In addition, cua provides unified rectangle support with visible +rectangle highlighting: Use C-return to start a rectangle, extend it +using the movement commands (or mouse-3), and cut or copy it using C-x +or C-c (using C-w and M-w also works). + +Use M-o and M-c to `open' or `close' the rectangle, use M-b or M-f, to +fill it with blanks or another character, use M-u or M-l to upcase or +downcase the rectangle, use M-i to increment the numbers in the +rectangle, use M-n to fill the rectangle with a numeric sequence (such +as 10 20 30...), use M-r to replace a regexp in the rectangle, and use +M-' or M-/ to restrict command on the rectangle to a subset of the +rows. See the commentary in cua-base.el for more rectangle commands. + +Cua also provides unified support for registers: Use a numeric +prefix argument between 0 and 9, i.e. M-0 .. M-9, for C-x, C-c, and +C-v to cut or copy into register 0-9, or paste from register 0-9. + +The last text deleted (not killed) is automatically stored in +register 0. This includes text deleted by typing text. + +Finally, cua provides a global mark which is set using S-C-space. +When the global mark is active, any text which is cut or copied is +automatically inserted at the global mark position. See the +commentary in cua-base.el for more global mark related commands. + +The features of cua also works with the standard Emacs bindings for +kill, copy, yank, and undo. If you want to use cua mode, but don't +want the C-x, C-c, C-v, and C-z bindings, you can customize the +`cua-enable-cua-keys' variable. + +Note: This version of cua mode is not backwards compatible with older +versions of cua.el and cua-mode.el. To ensure proper operation, you +must remove older versions of cua.el or cua-mode.el as well as the +loading and customization of those packages from the .emacs file. + +** Tramp is now part of the distribution. + +This package is similar to Ange-FTP: it allows you to edit remote +files. But whereas Ange-FTP uses FTP to access the remote host, +Tramp uses a shell connection. The shell connection is always used +for filename completion and directory listings and suchlike, but for +the actual file transfer, you can choose between the so-called +`inline' methods (which transfer the files through the shell +connection using base64 or uu encoding) and the `out-of-band' methods +(which invoke an external copying program such as `rcp' or `scp' or +`rsync' to do the copying). + +Shell connections can be acquired via `rsh', `ssh', `telnet' and also +`su' and `sudo'. Ange-FTP is still supported via the `ftp' method. + +If you want to disable Tramp you should set + + (setq tramp-default-method "ftp") + +Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x +tramp-unload-tramp. + +** The image-dired.el package allows you to easily view, tag and in +other ways manipulate image files and their thumbnails, using dired as +the main interface. Image-Dired provides functionality to generate +simple image galleries. + +** Image files are normally visited in Image mode, which lets you toggle +between viewing the image and viewing the text using C-c C-c. + +** The new python.el package is used to edit Python and Jython programs. + +** The URL package (which had been part of W3) is now part of Emacs. + +** Calc is now part of the Emacs distribution. + +Calc is an advanced desk calculator and mathematical tool written in +Emacs Lisp. The prefix for Calc has been changed to `C-x *' and Calc +can be started with `C-x * *'. The Calc manual is separate from the +Emacs manual; within Emacs, type "C-h i m calc RET" to read the +manual. A reference card is available in `etc/calccard.tex' and +`etc/calccard.ps'. + +** Org mode is now part of the Emacs distribution + +Org mode is a mode for keeping notes, maintaining ToDo lists, and +doing project planning with a fast and effective plain-text system. +It also contains a plain-text table editor with spreadsheet-like +capabilities. + +The Org mode table editor can be integrated into any major mode by +activating the minor mode, Orgtbl mode. + +The documentation for org-mode is in a separate manual; within Emacs, +type "C-h i m org RET" to read that manual. A reference card is +available in `etc/orgcard.tex' and `etc/orgcard.ps'. + +** ERC is now part of the Emacs distribution. + +ERC is a powerful, modular, and extensible IRC client for Emacs. + +To see what modules are available, type +M-x customize-option erc-modules RET. + +To start an IRC session with ERC, type M-x erc, and follow the prompts +for server, port, and nick. + +** Rcirc is now part of the Emacs distribution. + +Rcirc is an Internet relay chat (IRC) client. It supports +simultaneous connections to multiple IRC servers. Each discussion +takes place in its own buffer. For each connection you can join +several channels (many-to-many) and participate in private +(one-to-one) chats. Both channel and private chats are contained in +separate buffers. + +To start an IRC session using the default parameters, type M-x irc. +If you type C-u M-x irc, it prompts you for the server, nick, port and +startup channel parameters before connecting. + +** The new package ibuffer provides a powerful, completely +customizable replacement for buff-menu.el. + +** Newsticker is now part of the Emacs distribution. + +Newsticker asynchronously retrieves headlines (RSS) from a list of news +sites, prepares these headlines for reading, and allows for loading the +corresponding articles in a web browser. Its documentation is in a +separate manual. + +** The wdired.el package allows you to use normal editing commands on Dired +buffers to change filenames, permissions, etc... + +** Ido mode is now part of the Emacs distribution. + +The ido (interactively do) package is an extension of the iswitchb +package to do interactive opening of files and directories in addition +to interactive buffer switching. Ido is a superset of iswitchb (with +a few exceptions), so don't enable both packages. + +** The new global minor mode `file-name-shadow-mode' modifies the way +filenames being entered by the user in the minibuffer are displayed, so +that it's clear when part of the entered filename will be ignored due to +Emacs' filename parsing rules. The ignored portion can be made dim, +invisible, or otherwise less visually noticeable. The display method can +be displayed by customizing the variable `file-name-shadow-properties'. + +** Emacs' keyboard macro facilities have been enhanced by the new +kmacro package. + +Keyboard macros are now defined and executed via the F3 and F4 keys: +F3 starts a macro, F4 ends the macro, and pressing F4 again executes +the last macro. While defining the macro, F3 inserts a counter value +which automatically increments every time the macro is executed. + +There is now a keyboard macro ring which stores the most recently +defined macros. + +The C-x C-k sequence is now a prefix for the kmacro keymap which +defines bindings for moving through the keyboard macro ring, +C-x C-k C-p and C-x C-k C-n, editing the last macro C-x C-k C-e, +manipulating the macro counter and format via C-x C-k C-c, +C-x C-k C-a, and C-x C-k C-f. See the commentary in kmacro.el +for more commands. + +The original macro bindings C-x (, C-x ), and C-x e are still +available, but they now interface to the keyboard macro ring too. + +The C-x e command now automatically terminates the current macro +before calling it, if used while defining a macro. + +In addition, when ending or calling a macro with C-x e, the macro can +be repeated immediately by typing just the `e'. You can customize +this behavior via the variables kmacro-call-repeat-key and +kmacro-call-repeat-with-arg. + +Keyboard macros can now be debugged and edited interactively. +C-x C-k SPC steps through the last keyboard macro one key sequence +at a time, prompting for the actions to take. + +** The new keypad setup package provides several common bindings for +the numeric keypad which is available on most keyboards. The numeric +keypad typically has the digits 0 to 9, a decimal point, keys marked ++, -, /, and *, an Enter key, and a NumLock toggle key. The keypad +package only controls the use of the digit and decimal keys. + +By customizing the variables `keypad-setup', `keypad-shifted-setup', +`keypad-numlock-setup', and `keypad-numlock-shifted-setup', or by +using the function `keypad-setup', you can rebind all digit keys and +the decimal key of the keypad in one step for each of the four +possible combinations of the Shift key state (not pressed/pressed) and +the NumLock toggle state (off/on). + +The choices for the keypad keys in each of the above states are: +`Plain numeric keypad' where the keys generates plain digits, +`Numeric keypad with decimal key' where the character produced by the +decimal key can be customized individually (for internationalization), +`Numeric Prefix Arg' where the keypad keys produce numeric prefix args +for Emacs editing commands, `Cursor keys' and `Shifted Cursor keys' +where the keys work like (shifted) arrow keys, home/end, etc., and +`Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.) +are left unspecified and can be bound individually through the global +or local keymaps. + +** The printing package is now part of the Emacs distribution. + +If you enable the printing package by including (require 'printing) in +the .emacs file, the normal Print item on the File menu is replaced +with a Print sub-menu which allows you to preview output through +ghostview, use ghostscript to print (if you don't have a PostScript +printer) or send directly to printer a PostScript code generated by +`ps-print' package. Use M-x pr-help for more information. + +** The new package longlines.el provides a minor mode for editing text +files composed of long lines, based on the `use-hard-newlines' +mechanism. The long lines are broken up by inserting soft newlines, +which are automatically removed when saving the file to disk or +copying into the kill ring, clipboard, etc. By default, Longlines +mode inserts soft newlines automatically during editing, a behavior +referred to as "soft word wrap" in other text editors. This is +similar to Refill mode, but more reliable. To turn the word wrap +feature off, set `longlines-auto-wrap' to nil. + +** SES mode (ses-mode) is a new major mode for creating and editing +spreadsheet files. Besides the usual Emacs features (intuitive command +letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers +viral immunity and import/export of tab-separated values. + +** The new package table.el implements editable, WYSIWYG, embedded +`text tables' in Emacs buffers. It simulates the effect of putting +these tables in a special major mode. The package emulates WYSIWYG +table editing available in modern word processors. The package also +can generate a table source in typesetting and markup languages such +as latex and html from the visually laid out text table. + +** Filesets are collections of files. You can define a fileset in +various ways, such as based on a directory tree or based on +program files that include other program files. + +Once you have defined a fileset, you can perform various operations on +all the files in it, such as visiting them or searching and replacing +in them. + +** The minor mode Reveal mode makes text visible on the fly as you +move your cursor into hidden regions of the buffer. +It should work with any package that uses overlays to hide parts +of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ... + +There is also Global Reveal mode which affects all buffers. + +** New minor mode, Visible mode, toggles invisibility in the current buffer. +When enabled, it makes all invisible text visible. When disabled, it +restores the previous value of `buffer-invisibility-spec'. + +** The new package flymake.el does on-the-fly syntax checking of program +source files. See the Flymake's Info manual for more details. + +** savehist saves minibuffer histories between sessions. +To use this feature, turn on savehist-mode in your `.emacs' file. + +** The ruler-mode.el library provides a minor mode for displaying an +"active" ruler in the header line. You can use the mouse to visually +change the `fill-column', `window-margins' and `tab-stop-list' +settings. + +** The file t-mouse.el is now part of Emacs and provides access to mouse +events from the console. It still requires gpm to work but has been updated +for Emacs 22. In particular, the mode-line is now position sensitive. + +** The new package scroll-lock.el provides the Scroll Lock minor mode +for pager-like scrolling. Keys which normally move point by line or +paragraph will scroll the buffer by the respective amount of lines +instead and point will be kept vertically fixed relative to window +boundaries during scrolling. + +** The new global minor mode `size-indication-mode' (off by default) +shows the size of accessible part of the buffer on the mode line. + +** The new package conf-mode.el handles thousands of configuration files, with +varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, +var : value, var value or keyword var value) and sections ([section] or +section { }). Many files under /etc/, or with suffixes like .cf through +.config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are +recognized. + +** GDB-Script-mode is used for files like .gdbinit. + +** The new package dns-mode.el adds syntax highlighting of DNS master files. +It is a modern replacement for zone-mode.el, which is now obsolete. + +** `cfengine-mode' is a major mode for editing GNU Cfengine +configuration files. + +** The TCL package tcl-mode.el was replaced by tcl.el. +This was actually done in Emacs-21.1, and was not documented. + +* Changes in Specialized Modes and Packages in Emacs 22.1: + +** Changes in Dired + +*** Bindings for Image-Dired added. +Several new keybindings, all starting with the C-t prefix, have been +added to Dired. They are all bound to commands in Image-Dired. As a +starting point, mark some image files in a dired buffer and do C-t d +to display thumbnails of them in a separate buffer. + +** Info mode changes + +*** Images in Info pages are supported. + +Info pages show embedded images, in Emacs frames with image support. +Info documentation that includes images, processed with makeinfo +version 4.7 or newer, compiles to Info pages with embedded images. + +*** `Info-index' offers completion. + +*** http and ftp links in Info are now operational: they look like cross +references and following them calls `browse-url'. + +*** isearch in Info uses Info-search and searches through multiple nodes. + +Before leaving the initial Info node isearch fails once with the error +message [initial node], and with subsequent C-s/C-r continues through +other nodes. When isearch fails for the rest of the manual, it wraps +around the whole manual to the top/final node. The user option +`Info-isearch-search' controls whether to use Info-search for isearch, +or the default isearch search function that wraps around the current +Info node. + +*** New search commands: `Info-search-case-sensitively' (bound to S), +`Info-search-backward', and `Info-search-next' which repeats the last +search without prompting for a new search string. + +*** New command `info-apropos' searches the indices of the known +Info files on your system for a string, and builds a menu of the +possible matches. + +*** New command `Info-history-forward' (bound to r and new toolbar icon) +moves forward in history to the node you returned from after using +`Info-history-back' (renamed from `Info-last'). + +*** New command `Info-history' (bound to L) displays a menu of visited nodes. + +*** New command `Info-toc' (bound to T) creates a node with table of contents +from the tree structure of menus of the current Info file. + +*** New command `Info-copy-current-node-name' (bound to w) copies +the current Info node name into the kill ring. With a zero prefix +arg, puts the node name inside the `info' function call. + +*** New face `info-xref-visited' distinguishes visited nodes from unvisited +and a new option `Info-fontify-visited-nodes' to control this. + +*** A numeric prefix argument of `info' selects an Info buffer +with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). + +*** Info now hides node names in menus and cross references by default. + +If you prefer the old behavior, you can set the new user option +`Info-hide-note-references' to nil. + +*** The default value for `Info-scroll-prefer-subnodes' is now nil. + +** Emacs server changes + +*** You can have several Emacs servers on the same machine. + + % emacs --eval '(setq server-name "foo")' -f server-start & + % emacs --eval '(setq server-name "bar")' -f server-start & + % emacsclient -s foo file1 + % emacsclient -s bar file2 + +*** The `emacsclient' command understands the options `--eval' and +`--display' which tell Emacs respectively to evaluate the given Lisp +expression and to use the given display when visiting files. + +*** User option `server-mode' can be used to start a server process. + +** Locate changes + +*** By default, reverting the *Locate* buffer now just runs the last +`locate' command back over again without offering to update the locate +database (which normally only works if you have root privileges). If +you prefer the old behavior, set the new customizable option +`locate-update-when-revert' to t. + +** Desktop package + +*** Desktop saving is now a minor mode, `desktop-save-mode'. + +*** The variable `desktop-enable' is obsolete. + +Customize `desktop-save-mode' to enable desktop saving. + +*** Buffers are saved in the desktop file in the same order as that in the +buffer list. + +*** The desktop package can be customized to restore only some buffers +immediately, remaining buffers are restored lazily (when Emacs is +idle). + +*** New command line option --no-desktop + +*** New commands: + - desktop-revert reverts to the last loaded desktop. + - desktop-change-dir kills current desktop and loads a new. + - desktop-save-in-desktop-dir saves desktop in the directory from which + it was loaded. + - desktop-lazy-complete runs the desktop load to completion. + - desktop-lazy-abort aborts lazy loading of the desktop. + +*** New customizable variables: + - desktop-save. Determines whether the desktop should be saved when it is + killed. + - desktop-file-name-format. Format in which desktop file names should be saved. + - desktop-path. List of directories in which to lookup the desktop file. + - desktop-locals-to-save. List of local variables to save. + - desktop-globals-to-clear. List of global variables that `desktop-clear' will clear. + - desktop-clear-preserve-buffers-regexp. Regexp identifying buffers that `desktop-clear' + should not delete. + - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are + restored lazily (when Emacs is idle). + - desktop-lazy-verbose. Verbose reporting of lazily created buffers. + - desktop-lazy-idle-delay. Idle delay before starting to create buffers. + +*** New hooks: + - desktop-after-read-hook run after a desktop is loaded. + - desktop-no-desktop-file-hook run when no desktop file is found. + +** Recentf changes + +The recent file list is now automatically cleaned up when recentf mode is +enabled. The new option `recentf-auto-cleanup' controls when to do +automatic cleanup. + +The ten most recent files can be quickly opened by using the shortcut +keys 1 to 9, and 0, when the recent list is displayed in a buffer via +the `recentf-open-files', or `recentf-open-more-files' commands. + +The `recentf-keep' option replaces `recentf-keep-non-readable-files-p' +and provides a more general mechanism to customize which file names to +keep in the recent list. + +With the more advanced option `recentf-filename-handlers', you can +specify functions that successively transform recent file names. For +example, if set to `file-truename' plus `abbreviate-file-name', the +same file will not be in the recent list with different symbolic +links, and the file name will be abbreviated. + +To follow naming convention, `recentf-menu-append-commands-flag' +replaces the misnamed option `recentf-menu-append-commands-p'. The +old name remains available as alias, but has been marked obsolete. + +** Auto-Revert changes + +*** You can now use Auto Revert mode to `tail' a file. + +If point is at the end of a file buffer before reverting, Auto Revert +mode keeps it at the end after reverting. Similarly if point is +displayed at the end of a file buffer in any window, it stays at the end +of the buffer in that window. This allows you to "tail" a file: just +put point at the end of the buffer and it stays there. This rule +applies to file buffers. For non-file buffers, the behavior can be mode +dependent. + +If you are sure that the file will only change by growing at the end, +then you can tail the file more efficiently by using the new minor +mode Auto Revert Tail mode. The function `auto-revert-tail-mode' +toggles this mode. + +*** Auto Revert mode is now more careful to avoid excessive reverts and +other potential problems when deciding which non-file buffers to +revert. This matters especially if Global Auto Revert mode is enabled +and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert +mode only reverts a non-file buffer if the buffer has a non-nil +`revert-buffer-function' and a non-nil `buffer-stale-function', which +decides whether the buffer should be reverted. Currently, this means +that auto reverting works for Dired buffers (although this may not +work properly on all operating systems) and for the Buffer Menu. + +*** If the new user option `auto-revert-check-vc-info' is non-nil, Auto +Revert mode reliably updates version control info (such as the version +control number in the mode line), in all version controlled buffers in +which it is active. If the option is nil, the default, then this info +only gets updated whenever the buffer gets reverted. + +** Changes in Shell Mode + +*** Shell output normally scrolls so that the input line is at the +bottom of the window -- thus showing the maximum possible text. (This +is similar to the way sequential output to a terminal works.) + +** Changes in Hi Lock + +*** hi-lock-mode now only affects a single buffer, and a new function +`global-hi-lock-mode' enables Hi Lock in all buffers. By default, if +hi-lock-mode is used in what appears to be the initialization file, a +warning message suggests to use global-hi-lock-mode instead. However, +if the new variable `hi-lock-archaic-interface-deduce' is non-nil, +using hi-lock-mode in an initialization file will turn on Hi Lock in all +buffers and no warning will be issued (for compatibility with the +behavior in older versions of Emacs). + +** Changes in Allout + +*** Topic cryptography added, enabling easy gpg topic encryption and +decryption. Per-topic basis enables interspersing encrypted-text and +clear-text within a single file to your heart's content, using symmetric +and/or public key modes. Time-limited key caching, user-provided +symmetric key hinting and consistency verification, auto-encryption of +pending topics on save, and more, make it easy to use encryption in +powerful ways. Encryption behavior customization is collected in the +allout-encryption customization group. + +*** Default command prefix was changed to "\C-c " (control-c space), to +avoid intruding on user's keybinding space. Customize the +`allout-command-prefix' variable to your preference. + +*** Some previously rough topic-header format edge cases are reconciled. +Level 1 topics use the mode's comment format, and lines starting with the +asterisk - for instance, the comment close of some languages (eg, c's "*/" +or mathematica's "*)") - at the beginning of line are no longer are +interpreted as level 1 topics in those modes. + +*** Many or most commonly occurring "accidental" topics are disqualified. +Text in item bodies that looks like a low-depth topic is no longer mistaken +for one unless its first offspring (or that of its next sibling with +offspring) is only one level deeper. + +For example, pasting some text with a bunch of leading asterisks into a +topic that's followed by a level 3 or deeper topic will not cause the +pasted text to be mistaken for outline structure. + +The same constraint is applied to any level 2 or 3 topics. + +This settles an old issue where typed or pasted text needed to be carefully +reviewed, and sometimes doctored, to avoid accidentally disrupting the +outline structure. Now that should be generally unnecessary, as the most +prone-to-occur accidents are disqualified. + +*** Allout now refuses to create "containment discontinuities", where a +topic is shifted deeper than the offspring-depth of its container. On the +other hand, allout now operates gracefully with existing containment +discontinuities, revealing excessively contained topics rather than either +leaving them hidden or raising an error. + +*** Navigation within an item is easier. Repeated beginning-of-line and +end-of-line key commands (usually, ^A and ^E) cycle through the +beginning/end-of-line and then beginning/end of topic, etc. See new +customization vars `allout-beginning-of-line-cycles' and +`allout-end-of-line-cycles'. + +*** New or revised allout-mode activity hooks enable creation of +cooperative enhancements to allout mode without changes to the mode, +itself. + +See `allout-exposure-change-hook', `allout-structure-added-hook', +`allout-structure-deleted-hook', and `allout-structure-shifted-hook'. + +`allout-exposure-change-hook' replaces the existing +`allout-view-change-hook', which is being deprecated. Both are still +invoked, but `allout-view-change-hook' will eventually be ignored. +`allout-exposure-change-hook' is called with explicit arguments detailing +the specifics of each change (as are the other new hooks), making it easier +to use than the old version. + +There is a new mode deactivation hook, `allout-mode-deactivate-hook', for +coordinating with deactivation of allout-mode. Both that and the mode +activation hook, `allout-mode-hook' are now run after the `allout-mode' +variable is changed, rather than before. + +*** Allout now uses text overlay's `invisible' property for concealed text, +instead of selective-display. This simplifies the code, in particular +avoiding the need for kludges for isearch dynamic-display, discretionary +handling of edits of concealed text, undo concerns, etc. + +*** There are many other fixes and refinements, including: + + - repaired inhibition of inadvertent edits to concealed text, without + inhibiting undo; we now reveal undo changes within concealed text. + - auto-fill-mode is now left inactive when allout-mode starts, if it + already was inactive. also, `allout-inhibit-auto-fill' custom + configuration variable makes it easy to disable auto fill in allout + outlines in general or on a per-buffer basis. + - allout now tolerates fielded text in outlines without disruption. + - hot-spot navigation now is modularized with a new function, + `allout-hotspot-key-handler', enabling easier use and enhancement of + the functionality in allout addons. + - repaired retention of topic body hanging indent upon topic depth shifts + - bulleting variation is simpler and more accommodating, both in the + default behavior and in ability to vary when creating new topics + - mode deactivation now does cleans up effectively, more properly + restoring affected variables and hooks to former state, removing + overlays, etc. see `allout-add-resumptions' and + `allout-do-resumptions', which replace the old `allout-resumptions'. + - included a few unit-tests for interior functionality. developers can + have them automatically run at the end of module load by customizing + the option `allout-run-unit-tests-on-load'. + - many, many other, more minor tweaks, fixes, and refinements. + - version number incremented to 2.2 + +** Hideshow mode changes + +*** New variable `hs-set-up-overlay' allows customization of the overlay +used to effect hiding for hideshow minor mode. Integration with isearch +handles the overlay property `display' specially, preserving it during +temporary overlay showing in the course of an isearch operation. + +*** New variable `hs-allow-nesting' non-nil means that hiding a block does +not discard the hidden state of any "internal" blocks; when the parent +block is later shown, the internal blocks remain hidden. Default is nil. + +** FFAP changes + +*** New ffap commands and keybindings: + +C-x C-r (`ffap-read-only'), +C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'), +C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), +C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). + +*** FFAP accepts wildcards in a file name by default. + +C-x C-f passes the file name to `find-file' with non-nil WILDCARDS +argument, which visits multiple files, and C-x d passes it to `dired'. + +** Changes in Skeleton + +*** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. + +`@' has reverted to only setting `skeleton-positions' and no longer +sets `skeleton-point'. Skeletons which used @ to mark +`skeleton-point' independent of `_' should now use `-' instead. The +updated `skeleton-insert' docstring explains these new features along +with other details of skeleton construction. + +*** The variables `skeleton-transformation', `skeleton-filter', and +`skeleton-pair-filter' have been renamed to +`skeleton-transformation-function', `skeleton-filter-function', and +`skeleton-pair-filter-function'. The old names are still available +as aliases. + +** HTML/SGML changes + +*** Emacs now tries to set up buffer coding systems for HTML/XML files +automatically. + +*** SGML mode has indentation and supports XML syntax. +The new variable `sgml-xml-mode' tells SGML mode to use XML syntax. +When this option is enabled, SGML tags are inserted in XML style, +i.e., there is always a closing tag. +By default, its setting is inferred on a buffer-by-buffer basis +from the file name or buffer contents. + +*** The variable `sgml-transformation' has been renamed to +`sgml-transformation-function'. The old name is still available as +alias. + +*** `xml-mode' is now an alias for `sgml-mode', which has XML support. + +** TeX modes + +*** New major mode Doctex mode, for *.dtx files. + +*** C-c C-c prompts for a command to run, and tries to offer a good default. + +*** The user option `tex-start-options-string' has been replaced +by two new user options: `tex-start-options', which should hold +command-line options to feed to TeX, and `tex-start-commands' which should hold +TeX commands to use at startup. + +*** verbatim environments are now highlighted in courier by font-lock +and super/sub-scripts are made into super/sub-scripts. + +** RefTeX mode changes + +*** Changes to RefTeX's table of contents + +The new command keys "<" and ">" in the TOC buffer promote/demote the +section at point or all sections in the current region, with full +support for multifile documents. + +The new command `reftex-toc-recenter' (`C-c -') shows the current +section in the TOC buffer without selecting the TOC window. +Recentering can happen automatically in idle time when the option +`reftex-auto-recenter-toc' is turned on. The highlight in the TOC +buffer stays when the focus moves to a different window. A dedicated +frame can show the TOC with the current section always automatically +highlighted. The frame is created and deleted from the toc buffer +with the `d' key. + +The toc window can be split off horizontally instead of vertically. +See new option `reftex-toc-split-windows-horizontally'. + +Labels can be renamed globally from the table of contents using the +key `M-%'. + +The new command `reftex-goto-label' jumps directly to a label +location. + +*** Changes related to citations and BibTeX database files + +Commands that insert a citation now prompt for optional arguments when +called with a prefix argument. Related new options are +`reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'. + +The new command `reftex-create-bibtex-file' creates a BibTeX database +with all entries referenced in the current document. The keys "e" and +"E" allow to produce a BibTeX database file from entries marked in a +citation selection buffer. + +The command `reftex-citation' uses the word in the buffer before the +cursor as a default search string. + +The support for chapterbib has been improved. Different chapters can +now use BibTeX or an explicit `thebibliography' environment. + +The macros which specify the bibliography file (like \bibliography) +can be configured with the new option `reftex-bibliography-commands'. + +Support for jurabib has been added. + +*** Global index matched may be verified with a user function. + +During global indexing, a user function can verify an index match. +See new option `reftex-index-verify-function'. + +*** Parsing documents with many labels can be sped up. + +Operating in a document with thousands of labels can be sped up +considerably by allowing RefTeX to derive the type of a label directly +from the label prefix like `eq:' or `fig:'. The option +`reftex-trust-label-prefix' needs to be configured in order to enable +this feature. While the speed-up is significant, this may reduce the +quality of the context offered by RefTeX to describe a label. + +*** Miscellaneous changes + +The macros which input a file in LaTeX (like \input, \include) can be +configured in the new option `reftex-include-file-commands'. + +RefTeX supports global incremental search. + +** BibTeX mode + +*** The new command `bibtex-url' browses a URL for the BibTeX entry at +point (bound to C-c C-l and mouse-2, RET on clickable fields). + +*** The new command `bibtex-entry-update' (bound to C-c C-u) updates +an existing BibTeX entry by inserting fields that may occur but are not +present. + +*** New `bibtex-entry-format' option `required-fields', enabled by default. + +*** `bibtex-maintain-sorted-entries' can take values `plain', +`crossref', and `entry-class' which control the sorting scheme used +for BibTeX entries. `bibtex-sort-entry-class' controls the sorting +scheme `entry-class'. TAB completion for reference keys and +automatic detection of duplicates does not require anymore that +`bibtex-maintain-sorted-entries' is non-nil. + +*** The new command `bibtex-complete' completes word fragment before +point according to context (bound to M-tab). + +*** In BibTeX mode the command `fill-paragraph' (M-q) fills +individual fields of a BibTeX entry. + +*** The new variable `bibtex-autofill-types' contains a list of entry +types for which fields are filled automatically (if possible). + +*** The new commands `bibtex-find-entry' and `bibtex-find-crossref' +locate entries and crossref'd entries (bound to C-c C-s and C-c C-x). +Crossref fields are clickable (bound to mouse-2, RET). + +*** The new variables `bibtex-files' and `bibtex-file-path' define a set +of BibTeX files that are searched for entry keys. + +*** The new command `bibtex-validate-globally' checks for duplicate keys +in multiple BibTeX files. + +*** If the new variable `bibtex-autoadd-commas' is non-nil, +automatically add missing commas at end of BibTeX fields. + +*** The new command `bibtex-copy-summary-as-kill' pushes summary +of BibTeX entry to kill ring (bound to C-c C-t). + +*** If the new variable `bibtex-parse-keys-fast' is non-nil, +use fast but simplified algorithm for parsing BibTeX keys. + +*** The new variables bibtex-expand-strings and +bibtex-autokey-expand-strings control the expansion of strings when +extracting the content of a BibTeX field. + +*** The variables `bibtex-autokey-name-case-convert' and +`bibtex-autokey-titleword-case-convert' have been renamed to +`bibtex-autokey-name-case-convert-function' and +`bibtex-autokey-titleword-case-convert-function'. The old names are +still available as aliases. + +** GUD changes + +*** The new package gdb-ui.el provides an enhanced graphical interface to +GDB. You can interact with GDB through the GUD buffer in the usual way, but +there are also further buffers which control the execution and describe the +state of your program. It can separate the input/output of your program from +that of GDB and watches expressions in the speedbar. It also uses features of +Emacs 21/22 such as the toolbar, and bitmaps in the fringe to indicate +breakpoints. + +To use this package just type M-x gdb. See the Emacs manual if you want the +old behaviour. + +*** GUD mode has its own tool bar for controlling execution of the inferior +and other common debugger commands. + +*** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program +counter to the specified source line (the one where point is). + +*** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be +toggled independently of normal tooltips with the minor mode +`gud-tooltip-mode'. + +*** In graphical mode, with a C program, GUD Tooltips have been extended to +display the #define directive associated with an identifier when program is +not executing. + +*** GUD mode improvements for jdb: + +**** Search for source files using jdb classpath and class information. +Fast startup since there is no need to scan all source files up front. +There is also no need to create and maintain lists of source +directories to scan. Look at `gud-jdb-use-classpath' and +`gud-jdb-classpath' customization variables documentation. + +**** The previous method of searching for source files has been +preserved in case someone still wants/needs to use it. +Set `gud-jdb-use-classpath' to nil. + +**** Supports the standard breakpoint (gud-break, gud-clear) +set/clear operations from Java source files under the classpath, stack +traversal (gud-up, gud-down), and run until current stack finish +(gud-finish). + +**** Supports new jdb (Java 1.2 and later) in addition to oldjdb +(Java 1.1 jdb). + +*** Added jdb Customization Variables + +**** `gud-jdb-command-name'. What command line to use to invoke jdb. + +**** `gud-jdb-use-classpath'. Allows selection of java source file searching +method: set to t for new method, nil to scan `gud-jdb-directories' for +java sources (previous method). + +**** `gud-jdb-directories'. List of directories to scan and search for Java +classes using the original gud-jdb method (if `gud-jdb-use-classpath' +is nil). + +*** Minor Improvements + +**** The STARTTLS wrapper (starttls.el) can now use GNUTLS +instead of the OpenSSL based `starttls' tool. For backwards +compatibility, it prefers `starttls', but you can toggle +`starttls-use-gnutls' to switch to GNUTLS (or simply remove the +`starttls' tool). + +**** Do not allow debugger output history variable to grow without bounds. + +** Lisp mode changes + +*** Lisp mode now uses `font-lock-doc-face' for doc strings. + +*** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point. + +*** New features in evaluation commands + +**** The function `eval-defun' (C-M-x) called on defface reinitializes +the face to the value specified in the defface expression. + +**** Typing C-x C-e twice prints the value of the integer result +in additional formats (octal, hexadecimal, character) specified +by the new function `eval-expression-print-format'. The same +function also defines the result format for `eval-expression' (M-:), +`eval-print-last-sexp' (C-j) and some edebug evaluation functions. + +** Changes to cmuscheme + +*** Emacs now offers to start Scheme if the user tries to +evaluate a Scheme expression but no Scheme subprocess is running. + +*** If the file ~/.emacs_NAME or ~/.emacs.d/init_NAME.scm (where NAME +is the name of the Scheme interpreter) exists, its contents are sent +to the Scheme subprocess upon startup. + +*** There are new commands to instruct the Scheme interpreter to trace +procedure calls (`scheme-trace-procedure') and to expand syntactic forms +(`scheme-expand-current-form'). The commands actually sent to the Scheme +subprocess are controlled by the user options `scheme-trace-command', +`scheme-untrace-command' and `scheme-expand-current-form'. + +** Ewoc changes + +*** The new function `ewoc-delete' deletes specified nodes. + +*** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of +a newline after each pretty-printed entry and after the header and footer. +This allows you to create multiple-entry ewocs on a single line and to +effect "invisible" nodes by arranging for the pretty-printer to not print +anything for those nodes. + +For example, these two sequences of expressions behave identically: + +;; NOSEP nil +(defun PP (data) (insert (format "%S" data))) +(ewoc-create 'PP "start\n") + +;; NOSEP t +(defun PP (data) (insert (format "%S\n" data))) +(ewoc-create 'PP "start\n\n" "\n" t) + +** CC mode changes + +*** The CC Mode manual has been extensively revised. +The information about using CC Mode has been separated from the larger +and more difficult chapters about configuration. + +*** New Minor Modes +**** Electric Minor Mode toggles the electric action of non-alphabetic keys. +The new command c-toggle-electric-mode is bound to C-c C-l. Turning the +mode off can be helpful for editing chaotically indented code and for +users new to CC Mode, who sometimes find electric indentation +disconcerting. Its current state is displayed in the mode line with an +'l', e.g. "C/al". + +**** Subword Minor Mode makes Emacs recognize word boundaries at upper case +letters in StudlyCapsIdentifiers. You enable this feature by C-c C-w. It can +also be used in non-CC Mode buffers. :-) Contributed by Masatake YAMATO. + +*** Support for the AWK language. +Support for the AWK language has been introduced. The implementation is +based around GNU AWK version 3.1, but it should work pretty well with +any AWK. As yet, not all features of CC Mode have been adapted for AWK. +Here is a summary: + +**** Indentation Engine +The CC Mode indentation engine fully supports AWK mode. + +AWK mode handles code formatted in the conventional AWK fashion: `{'s +which start actions, user-defined functions, or compound statements are +placed on the same line as the associated construct; the matching `}'s +are normally placed under the start of the respective pattern, function +definition, or structured statement. + +The predefined line-up functions haven't yet been adapted for AWK +mode, though some of them may work serendipitously. There shouldn't +be any problems writing custom indentation functions for AWK mode. + +**** Font Locking +There is a single level of font locking in AWK mode, rather than the +three distinct levels the other modes have. There are several +idiosyncrasies in AWK mode's font-locking due to the peculiarities of +the AWK language itself. + +**** Comment and Movement Commands +These commands all work for AWK buffers. The notion of "defun" has +been augmented to include AWK pattern-action pairs - the standard +"defun" commands on key sequences C-M-a, C-M-e, and C-M-h use this +extended definition. + +**** "awk" style, Auto-newline Insertion and Clean-ups +A new style, "awk" has been introduced, and this is now the default +style for AWK code. With auto-newline enabled, the clean-up +c-one-liner-defun (see above) is useful. + +*** Font lock support. +CC Mode now provides font lock support for all its languages. This +supersedes the font lock patterns that have been in the core font lock +package for C, C++, Java and Objective-C. Like indentation, font +locking is done in a uniform way across all languages (except the new +AWK mode - see below). That means that the new font locking will be +different from the old patterns in various details for most languages. + +The main goal of the font locking in CC Mode is accuracy, to provide a +dependable aid in recognizing the various constructs. Some, like +strings and comments, are easy to recognize while others like +declarations and types can be very tricky. CC Mode can go to great +lengths to recognize declarations and casts correctly, especially when +the types aren't recognized by standard patterns. This is a fairly +demanding analysis which can be slow on older hardware, and it can +therefore be disabled by choosing a lower decoration level with the +variable font-lock-maximum-decoration. + +Note that the most demanding font lock level has been tuned with lazy +fontification in mind; Just-In-Time-Lock mode should be enabled for +the highest font lock level (by default, it is). Fontifying a file +with several thousand lines in one go can take the better part of a +minute. + +**** The (c|c++|objc|java|idl|pike)-font-lock-extra-types variables +are now used by CC Mode to recognize identifiers that are certain to +be types. (They are also used in cases that aren't related to font +locking.) At the maximum decoration level, types are often recognized +properly anyway, so these variables should be fairly restrictive and +not contain patterns for uncertain types. + +**** Support for documentation comments. +There is a "plugin" system to fontify documentation comments like +Javadoc and the markup within them. It's independent of the host +language, so it's possible to e.g. turn on Javadoc font locking in C +buffers. See the variable c-doc-comment-style for details. + +Currently three kinds of doc comment styles are recognized: Sun's +Javadoc, Autodoc (which is used in Pike) and GtkDoc (used in C). (The +last was contributed by Masatake YAMATO). This is by no means a +complete list of the most common tools; if your doc comment extractor +of choice is missing then please drop a note to bug-cc-mode@gnu.org. + +**** Better handling of C++ templates. +As a side effect of the more accurate font locking, C++ templates are +now handled much better. The angle brackets that delimit them are +given parenthesis syntax so that they can be navigated like other +parens. + +This also improves indentation of templates, although there still is +work to be done in that area. E.g. it's required that multiline +template clauses are written in full and then refontified to be +recognized, and the indentation of nested templates is a bit odd and +not as configurable as it ought to be. + +**** Improved handling of Objective-C and CORBA IDL. +Especially the support for Objective-C and IDL has gotten an overhaul. +The special "@" declarations in Objective-C are handled correctly. +All the keywords used in CORBA IDL, PSDL, and CIDL are recognized and +handled correctly, also wrt indentation. + +*** Changes in Key Sequences +**** c-toggle-auto-hungry-state is no longer bound to C-c C-t. + +**** c-toggle-hungry-state is no longer bound to C-c C-d. +This binding has been taken over by c-hungry-delete-forwards. + +**** c-toggle-auto-state (C-c C-t) has been renamed to c-toggle-auto-newline. +c-toggle-auto-state remains as an alias. + +**** The new commands c-hungry-backspace and c-hungry-delete-forwards +have key bindings C-c C-DEL (or C-c DEL, for the benefit of TTYs) and +C-c C-d (or C-c C- or C-c ) respectively. These +commands delete entire blocks of whitespace with a single +key-sequence. [N.B. "DEL" is the key.] + +**** The new command c-toggle-electric-mode is bound to C-c C-l. + +**** The new command c-subword-mode is bound to C-c C-w. + +*** C-c C-s (`c-show-syntactic-information') now highlights the anchor +position(s). + +*** New syntactic symbols in IDL mode. +The top level constructs "module" and "composition" (from CIDL) are +now handled like "namespace" in C++: They are given syntactic symbols +module-open, module-close, inmodule, composition-open, +composition-close, and incomposition. + +*** New functions to do hungry delete without enabling hungry delete mode. +The new functions `c-hungry-backspace' and `c-hungry-delete-forward' +provide hungry deletion without having to toggle a mode. They are +bound to C-c C-DEL and C-c C-d (and several variants, for the benefit +of different keyboard setups. See "Changes in key sequences" above). + +*** Better control over `require-final-newline'. + +The variable `c-require-final-newline' specifies which of the modes +implemented by CC mode should insert final newlines. Its value is a +list of modes, and only those modes should do it. By default the list +includes C, C++ and Objective-C modes. + +Whichever modes are in this list will set `require-final-newline' +based on `mode-require-final-newline'. + +*** Format change for syntactic context elements. + +The elements in the syntactic context returned by `c-guess-basic-syntax' +and stored in `c-syntactic-context' has been changed somewhat to allow +attaching more information. They are now lists instead of single cons +cells. E.g. a line that previously had the syntactic analysis + +((inclass . 11) (topmost-intro . 13)) + +is now analyzed as + +((inclass 11) (topmost-intro 13)) + +In some cases there are more than one position given for a syntactic +symbol. + +This change might affect code that calls `c-guess-basic-syntax' +directly, and custom lineup functions if they use +`c-syntactic-context'. However, the argument given to lineup +functions is still a single cons cell with nil or an integer in the +cdr. + +*** API changes for derived modes. + +There have been extensive changes "under the hood" which can affect +derived mode writers. Some of these changes are likely to cause +incompatibilities with existing derived modes, but on the other hand +care has now been taken to make it possible to extend and modify CC +Mode with less risk of such problems in the future. + +**** New language variable system. +These are variables whose values vary between CC Mode's different +languages. See the comment blurb near the top of cc-langs.el. + +**** New initialization functions. +The initialization procedure has been split up into more functions to +give better control: `c-basic-common-init', `c-font-lock-init', and +`c-init-language-vars'. + +*** Changes in analysis of nested syntactic constructs. +The syntactic analysis engine has better handling of cases where +several syntactic constructs appear nested on the same line. They are +now handled as if each construct started on a line of its own. + +This means that CC Mode now indents some cases differently, and +although it's more consistent there might be cases where the old way +gave results that's more to one's liking. So if you find a situation +where you think that the indentation has become worse, please report +it to bug-cc-mode@gnu.org. + +**** New syntactic symbol substatement-label. +This symbol is used when a label is inserted between a statement and +its substatement. E.g: + + if (x) + x_is_true: + do_stuff(); + +*** Better handling of multiline macros. + +**** Syntactic indentation inside macros. +The contents of multiline #define's are now analyzed and indented +syntactically just like other code. This can be disabled by the new +variable `c-syntactic-indentation-in-macros'. A new syntactic symbol +`cpp-define-intro' has been added to control the initial indentation +inside `#define's. + +**** New lineup function `c-lineup-cpp-define'. + +Now used by default to line up macro continuation lines. The behavior +of this function closely mimics the indentation one gets if the macro +is indented while the line continuation backslashes are temporarily +removed. If syntactic indentation in macros is turned off, it works +much line `c-lineup-dont-change', which was used earlier, but handles +empty lines within the macro better. + +**** Automatically inserted newlines continues the macro if used within one. +This applies to the newlines inserted by the auto-newline mode, and to +`c-context-line-break' and `c-context-open-line'. + +**** Better alignment of line continuation backslashes. +`c-backslash-region' tries to adapt to surrounding backslashes. New +variable `c-backslash-max-column' puts a limit on how far out +backslashes can be moved. + +**** Automatic alignment of line continuation backslashes. +This is controlled by the new variable `c-auto-align-backslashes'. It +affects `c-context-line-break', `c-context-open-line' and newlines +inserted in Auto-Newline mode. + +**** Line indentation works better inside macros. +Regardless whether syntactic indentation and syntactic indentation +inside macros are enabled or not, line indentation now ignores the +line continuation backslashes. This is most noticeable when syntactic +indentation is turned off and there are empty lines (save for the +backslash) in the macro. + +*** indent-for-comment is more customizable. +The behavior of M-; (indent-for-comment) is now configurable through +the variable `c-indent-comment-alist'. The indentation behavior is +based on the preceding code on the line, e.g. to get two spaces after +#else and #endif but indentation to `comment-column' in most other +cases (something which was hardcoded earlier). + +*** New function `c-context-open-line'. +It's the open-line equivalent of `c-context-line-break'. + +*** New clean-ups + +**** `comment-close-slash'. +With this clean-up, a block (i.e. c-style) comment can be terminated by +typing a slash at the start of a line. + +**** `c-one-liner-defun' +This clean-up compresses a short enough defun (for example, an AWK +pattern/action pair) onto a single line. "Short enough" is configurable. + +*** New lineup functions + +**** `c-lineup-string-cont' +This lineup function lines up a continued string under the one it +continues. E.g: + +result = prefix + "A message " + "string."; <- c-lineup-string-cont + +**** `c-lineup-cascaded-calls' +Lines up series of calls separated by "->" or ".". + +**** `c-lineup-knr-region-comment' +Gives (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' +Provides better indentation inside asm blocks. + +**** `c-lineup-argcont' +Lines up continued function arguments after the preceding comma. + +*** Added toggle for syntactic indentation. +The function `c-toggle-syntactic-indentation' can be used to toggle +syntactic indentation. + +*** Better caching of the syntactic context. +CC Mode caches the positions of the opening parentheses (of any kind) +of the lists surrounding the point. Those positions are used in many +places as anchor points for various searches. The cache is now +improved so that it can be reused to a large extent when the point is +moved. The less it moves, the less needs to be recalculated. + +The effect is that CC Mode should be fast most of the time even when +opening parens are hung (i.e. aren't in column zero). It's typically +only the first time after the point is moved far down in a complex +file that it'll take noticeable time to find out the syntactic +context. + +*** Statements are recognized in a more robust way. +Statements are recognized most of the time even when they occur in an +"invalid" context, e.g. in a function argument. In practice that can +happen when macros are involved. + +*** Improved the way `c-indent-exp' chooses the block to indent. +It now indents the block for the closest sexp following the point +whose closing paren ends on a different line. This means that the +point doesn't have to be immediately before the block to indent. +Also, only the block and the closing line is indented; the current +line is left untouched. + +** Changes in Makefile mode + +*** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. + +The former two couldn't be differentiated before, and the latter three +are new. Font-locking is robust now and offers new customizable +faces. + +*** The variable `makefile-query-one-target-method' has been renamed +to `makefile-query-one-target-method-function'. The old name is still +available as alias. + +** Sql changes + +*** The variable `sql-product' controls the highlighting of different +SQL dialects. This variable can be set globally via Customize, on a +buffer-specific basis via local variable settings, or for the current +session using the new SQL->Product submenu. (This menu replaces the +SQL->Highlighting submenu.) + +The following values are supported: + + ansi ANSI Standard (default) + db2 DB2 + informix Informix + ingres Ingres + interbase Interbase + linter Linter + ms Microsoft + mysql MySQL + oracle Oracle + postgres Postgres + solid Solid + sqlite SQLite + sybase Sybase + +The current product name will be shown on the mode line following the +SQL mode indicator. + +The technique of setting `sql-mode-font-lock-defaults' directly in +your `.emacs' will no longer establish the default highlighting -- Use +`sql-product' to accomplish this. + +ANSI keywords are always highlighted. + +*** The function `sql-add-product-keywords' can be used to add +font-lock rules to the product specific rules. For example, to have +all identifiers ending in `_t' under MS SQLServer treated as a type, +you would use the following line in your .emacs file: + + (sql-add-product-keywords 'ms + '(("\\<\\w+_t\\>" . font-lock-type-face))) + +*** Oracle support includes keyword highlighting for Oracle 9i. + +Most SQL and PL/SQL keywords are implemented. SQL*Plus commands are +highlighted in `font-lock-doc-face'. + +*** Microsoft SQLServer support has been significantly improved. + +Keyword highlighting for SqlServer 2000 is implemented. +sql-interactive-mode defaults to use osql, rather than isql, because +osql flushes its error stream more frequently. Thus error messages +are displayed when they occur rather than when the session is +terminated. + +If the username and password are not provided to `sql-ms', osql is +called with the `-E' command line argument to use the operating system +credentials to authenticate the user. + +*** Postgres support is enhanced. +Keyword highlighting of Postgres 7.3 is implemented. Prompting for +the username and the pgsql `-U' option is added. + +*** MySQL support is enhanced. +Keyword highlighting of MySql 4.0 is implemented. + +*** Imenu support has been enhanced to locate tables, views, indexes, +packages, procedures, functions, triggers, sequences, rules, and +defaults. + +*** Added SQL->Start SQLi Session menu entry which calls the +appropriate `sql-interactive-mode' wrapper for the current setting of +`sql-product'. + +*** sql.el supports the SQLite interpreter--call 'sql-sqlite'. + +** Fortran mode changes + +*** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow). +It cannot deal with every code format, but ought to handle a sizeable +majority. + +*** F90 mode and Fortran mode have new navigation commands +`f90-end-of-block', `f90-beginning-of-block', `f90-next-block', +`f90-previous-block', `fortran-end-of-block', +`fortran-beginning-of-block'. + +*** Fortran mode does more font-locking by default. Use level 3 +highlighting for the old default. + +*** Fortran mode has a new variable `fortran-directive-re'. +Adapt this to match the format of any compiler directives you use. +Lines that match are never indented, and are given distinctive font-locking. + +*** The new function `f90-backslash-not-special' can be used to change +the syntax of backslashes in F90 buffers. + +** Miscellaneous programming mode changes + +*** In sh-script, a continuation line is only indented if the backslash was +preceded by a SPC or a TAB. + +*** Perl mode has a new variable `perl-indent-continued-arguments'. + +*** The old Octave mode bindings C-c f and C-c i have been changed +to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate +bindings on control characters--thus, C-c C-i C-b is the same as +C-c C-i b, and so on. + +*** Prolog mode has a new variable `prolog-font-lock-keywords' +to support use of font-lock. + +** VC Changes + +*** New backends for Subversion and Meta-CVS. + +*** The new variable `vc-cvs-global-switches' specifies switches that +are passed to any CVS command invoked by VC. + +These switches are used as "global options" for CVS, which means they +are inserted before the command name. For example, this allows you to +specify a compression level using the `-z#' option for CVS. + +*** The key C-x C-q only changes the read-only state of the buffer +(toggle-read-only). It no longer checks files in or out. + +We made this change because we held a poll and found that many users +were unhappy with the previous behavior. If you do prefer this +behavior, you can bind `vc-toggle-read-only' to C-x C-q in your +`.emacs' file: + + (global-set-key "\C-x\C-q" 'vc-toggle-read-only) + +The function `vc-toggle-read-only' will continue to exist. + +*** VC-Annotate mode enhancements + +In VC-Annotate mode, you can now use the following key bindings for +enhanced functionality to browse the annotations of past revisions, or +to view diffs or log entries directly from vc-annotate-mode: + + P: annotates the previous revision + N: annotates the next revision + J: annotates the revision at line + A: annotates the revision previous to line + D: shows the diff of the revision at line with its previous revision + L: shows the log of the revision at line + W: annotates the workfile (most up to date) version + +** pcl-cvs changes + +*** In pcl-cvs mode, there is a new `d y' command to view the diffs +between the local version of the file and yesterday's head revision +in the repository. + +*** In pcl-cvs mode, there is a new `d r' command to view the changes +anyone has committed to the repository since you last executed +`checkout', `update' or `commit'. That means using cvs diff options +-rBASE -rHEAD. + +** Diff changes + +*** M-x diff uses Diff mode instead of Compilation mode. + +*** Diff mode key bindings changed. + +These are the new bindings: + +C-c C-e diff-ediff-patch (old M-A) +C-c C-n diff-restrict-view (old M-r) +C-c C-r diff-reverse-direction (old M-R) +C-c C-u diff-context->unified (old M-U) +C-c C-w diff-refine-hunk (old C-c C-r) + +To convert unified to context format, use C-u C-c C-u. +In addition, C-c C-u now operates on the region +in Transient Mark mode when the mark is active. + +** EDiff changes. + +*** When comparing directories. +Typing D brings up a buffer that lists the differences between the contents of +directories. Now it is possible to use this buffer to copy the missing files +from one directory to another. + +*** When comparing files or buffers. +Typing the = key now offers to perform the word-by-word comparison of the +currently highlighted regions in an inferior Ediff session. If you answer 'n' +then it reverts to the old behavior and asks the user to select regions for +comparison. + +*** The new command `ediff-backup' compares a file with its most recent +backup using `ediff'. If you specify the name of a backup file, +`ediff-backup' compares it with the file of which it is a backup. + +** Etags changes. + +*** New regular expressions features + +**** New syntax for regular expressions, multi-line regular expressions. + +The syntax --ignore-case-regexp=/regex/ is now undocumented and retained +only for backward compatibility. The new equivalent syntax is +--regex=/regex/i. More generally, it is --regex=/TAGREGEX/TAGNAME/MODS, +where `/TAGNAME' is optional, as usual, and MODS is a string of 0 or +more characters among `i' (ignore case), `m' (multi-line) and `s' +(single-line). The `m' and `s' modifiers behave as in Perl regular +expressions: `m' allows regexps to match more than one line, while `s' +(which implies `m') means that `.' matches newlines. The ability to +span newlines allows writing of much more powerful regular expressions +and rapid prototyping for tagging new languages. + +**** Regular expressions can use char escape sequences as in GCC. + +The escaped character sequence \a, \b, \d, \e, \f, \n, \r, \t, \v, +respectively, stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL, +CR, TAB, VT. + +**** Regular expressions can be bound to a given language. + +The syntax --regex={LANGUAGE}REGEX means that REGEX is used to make tags +only for files of language LANGUAGE, and ignored otherwise. This is +particularly useful when storing regexps in a file. + +**** Regular expressions can be read from a file. + +The --regex=@regexfile option means read the regexps from a file, one +per line. Lines beginning with space or tab are ignored. + +*** New language parsing features + +**** New language HTML. + +Tags are generated for `title' as well as `h1', `h2', and `h3'. Also, +when `name=' is used inside an anchor and whenever `id=' is used. + +**** New language PHP. + +Functions, classes and defines are tags. If the --members option is +specified to etags, variables are tags also. + +**** New language Lua. + +All functions are tagged. + +**** The `::' qualifier triggers C++ parsing in C file. + +Previously, only the `template' and `class' keywords had this effect. + +**** The GCC __attribute__ keyword is now recognized and ignored. + +**** In C and derived languages, etags creates tags for #undef + +**** In Makefiles, constants are tagged. + +If you want the old behavior instead, thus avoiding to increase the +size of the tags file, use the --no-globals option. + +**** In Perl, packages are tags. + +Subroutine tags are named from their package. You can jump to sub tags +as you did before, by the sub name, or additionally by looking for +package::sub. + +**** In Prolog, etags creates tags for rules in addition to predicates. + +**** New default keywords for TeX. + +The new keywords are def, newcommand, renewcommand, newenvironment and +renewenvironment. + +*** Honor #line directives. + +When Etags parses an input file that contains C preprocessor's #line +directives, it creates tags using the file name and line number +specified in those directives. This is useful when dealing with code +created from Cweb source files. When Etags tags the generated file, it +writes tags pointing to the source file. + +*** New option --parse-stdin=FILE. + +This option is mostly useful when calling etags from programs. It can +be used (only once) in place of a file name on the command line. Etags +reads from standard input and marks the produced tags as belonging to +the file FILE. + +*** The --members option is now the default. + +Use --no-members if you want the old default behaviour of not tagging +struct members in C, members variables in C++ and variables in PHP. + +** Ctags changes. + +*** Ctags now allows duplicate tags + +** Rmail changes + +*** Support for `movemail' from GNU mailutils was added to Rmail. + +This version of `movemail' allows you to read mail from a wide range of +mailbox formats, including remote POP3 and IMAP4 mailboxes with or +without TLS encryption. If GNU mailutils is installed on the system +and its version of `movemail' can be found in exec-path, it will be +used instead of the native one. + +*** The new commands rmail-end-of-message and rmail-summary end-of-message, +by default bound to `/', go to the end of the current mail message in +Rmail and Rmail summary buffers. + +*** Rmail now displays 5-digit message ids in its summary buffer. + +** Gnus package + +*** Gnus now includes Sieve and PGG + +Sieve is a library for managing Sieve scripts. PGG is a library to handle +PGP/MIME. + +*** There are many news features, bug fixes and improvements. + +See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. + +** MH-E changes. + +Upgraded to MH-E version 8.0.3. There have been major changes since +version 5.0.2; see MH-E-NEWS for details. + +** Miscellaneous mail changes + +*** The new variable `mail-default-directory' specifies +`default-directory' for mail buffers. This directory is used for +auto-save files of mail buffers. It defaults to "~/". + +*** The mode line can indicate new mail in a directory or file. + +See the documentation of the user option `display-time-mail-directory'. + +** Calendar changes + +*** There is a new calendar package, icalendar.el, that can be used to +convert Emacs diary entries to/from the iCalendar format. + +*** The new package cal-html.el writes HTML files with calendar and +diary entries. + +*** The new functions `diary-from-outlook', `diary-from-outlook-gnus', +and `diary-from-outlook-rmail' can be used to import diary entries +from Outlook-format appointments in mail messages. The variable +`diary-outlook-formats' can be customized to recognize additional +formats. + +*** The procedure for activating appointment reminders has changed: +use the new function `appt-activate'. The new variable +`appt-display-format' controls how reminders are displayed, replacing +`appt-issue-message', `appt-visible', and `appt-msg-window'. + +*** The function `simple-diary-display' now by default sets a header line. +This can be controlled through the variables `diary-header-line-flag' +and `diary-header-line-format'. + +*** Diary sexp entries can have custom marking in the calendar. +Diary sexp functions which only apply to certain days (such as +`diary-block' or `diary-cyclic') now take an optional parameter MARK, +which is the name of a face or a single-character string indicating +how to highlight the day in the calendar display. Specifying a +single-character string as @var{mark} places the character next to the +day in the calendar. Specifying a face highlights the day with that +face. This lets you have different colors or markings for vacations, +appointments, paydays or anything else using a sexp. + +*** The meanings of C-x < and C-x > have been interchanged. +< means to scroll backward in time, and > means to scroll forward. + +*** You can now use < and >, instead of C-x < and C-x >, to scroll +the calendar left or right. + +*** The new function `calendar-goto-day-of-year' (g D) prompts for a +year and day number, and moves to that date. Negative day numbers +count backward from the end of the year. + +*** The new Calendar function `calendar-goto-iso-week' (g w) +prompts for a year and a week number, and moves to the first +day of that ISO week. + +*** The functions `holiday-easter-etc' and `holiday-advent' now take +optional arguments, in order to only report on the specified holiday +rather than all. This makes customization of variables such as +`christian-holidays' simpler. + +*** The new variable `calendar-minimum-window-height' affects the +window generated by the function `generate-calendar-window'. + +** Speedbar changes + +*** Speedbar items can now be selected by clicking mouse-1, based on +the `mouse-1-click-follows-link' mechanism. + +*** The new command `speedbar-toggle-line-expansion', bound to SPC, +contracts or expands the line under the cursor. + +*** New command `speedbar-create-directory', bound to `M'. + +*** The new commands `speedbar-expand-line-descendants' and +`speedbar-contract-line-descendants', bound to `[' and `]' +respectively, expand and contract the line under cursor with all of +its descendents. + +*** The new user option `speedbar-use-tool-tips-flag', if non-nil, +means to display tool-tips for speedbar items. + +*** The new user option `speedbar-query-confirmation-method' controls +how querying is performed for file operations. A value of 'always +means to always query before file operations; 'none-but-delete means +to not query before any file operations, except before a file +deletion. + +*** The new user option `speedbar-select-frame-method' specifies how +to select a frame for displaying a file opened with the speedbar. A +value of 'attached means to use the attached frame (the frame that +speedbar was started from.) A number such as 1 or -1 means to pass +that number to `other-frame'. + +*** SPC and DEL are no longer bound to scroll up/down in the speedbar +keymap. + +*** The frame management code in speedbar.el has been split into a new +`dframe' library. Emacs Lisp code that makes use of the speedbar +should use `dframe-attached-frame' instead of +`speedbar-attached-frame', `dframe-timer' instead of `speedbar-timer', +`dframe-close-frame' instead of `speedbar-close-frame', and +`dframe-activity-change-focus-flag' instead of +`speedbar-activity-change-focus-flag'. The variables +`speedbar-update-speed' and `speedbar-navigating-speed' are also +obsolete; use `dframe-update-speed' instead. + +** battery.el changes + +*** display-battery-mode replaces display-battery. + +*** battery.el now works on recent versions of OS X. + +** Games + +*** The game `mpuz' is enhanced. + +`mpuz' now allows the 2nd factor not to have two identical digits. By +default, all trivial operations involving whole lines are performed +automatically. The game uses faces for better visual feedback. + +** Obsolete and deleted packages + +*** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. + +*** iso-acc.el is now obsolete. Use one of the latin input methods instead. + +*** zone-mode.el is now obsolete. Use dns-mode.el instead. + +*** cplus-md.el has been deleted. + +** Miscellaneous + +*** The variable `woman-topic-at-point' is renamed +to `woman-use-topic-at-point' and behaves differently: if this +variable is non-nil, the `woman' command uses the word at point +automatically, without asking for a confirmation. Otherwise, the word +at point is suggested as default, but not inserted at the prompt. + +*** You can now customize `fill-nobreak-predicate' to control where +filling can break lines. The value is now normally a list of +functions, but it can also be a single function, for compatibility. + +Emacs provide two predicates, `fill-single-word-nobreak-p' and +`fill-french-nobreak-p', for use as the value of +`fill-nobreak-predicate'. + +*** M-x view-file and commands that use it now avoid interfering +with special modes such as Tar mode. + +*** `global-whitespace-mode' is a new alias for `whitespace-global-mode'. + +*** The saveplace.el package now filters out unreadable files. + +When you exit Emacs, the saved positions in visited files no longer +include files that aren't readable, e.g. files that don't exist. +Customize the new option `save-place-forget-unreadable-files' to nil +to get the old behavior. The new options `save-place-save-skipped' +and `save-place-skip-check-regexp' allow further fine-tuning of this +feature. + +*** Commands `winner-redo' and `winner-undo', from winner.el, are now +bound to C-c and C-c , respectively. This is an +incompatible change. + +*** The type-break package now allows `type-break-file-name' to be nil +and if so, doesn't store any data across sessions. This is handy if +you don't want the `.type-break' file in your home directory or are +annoyed by the need for interaction when you kill Emacs. + +*** `ps-print' can now print characters from the mule-unicode charsets. + +Printing text with characters from the mule-unicode-* sets works with +`ps-print', provided that you have installed the appropriate BDF +fonts. See the file INSTALL for URLs where you can find these fonts. + +*** New command `strokes-global-set-stroke-string'. +This is like `strokes-global-set-stroke', but it allows you to bind +the stroke directly to a string to insert. This is convenient for +using strokes as an input method. + +*** In Outline mode, `hide-body' no longer hides lines at the top +of the file that precede the first header line. + +*** `hide-ifdef-mode' now uses overlays rather than selective-display +to hide its text. This should be mostly transparent but slightly +changes the behavior of motion commands like C-e and C-p. + +*** In Artist mode the variable `artist-text-renderer' has been +renamed to `artist-text-renderer-function'. The old name is still +available as alias. + +*** In Enriched mode, `set-left-margin' and `set-right-margin' are now +by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' +and `C-c C-r'. + +*** `partial-completion-mode' now handles partial completion on directory names. + +*** You can now disable pc-selection-mode after enabling it. + +M-x pc-selection-mode behaves like a proper minor mode, and with no +argument it toggles the mode. Turning off PC-Selection mode restores +the global key bindings that were replaced by turning on the mode. + +*** `uniquify-strip-common-suffix' tells uniquify to prefer +`file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. + +*** New user option `add-log-always-start-new-record'. + +When this option is enabled, M-x add-change-log-entry always +starts a new record regardless of when the last record is. + +*** M-x compare-windows now can automatically skip non-matching text to +resync points in both windows. + +*** PO translation files are decoded according to their MIME headers +when Emacs visits them. + +*** Telnet now prompts you for a port number with C-u M-x telnet. + +*** calculator.el now has radix grouping mode. + +To enable this, set `calculator-output-radix' non-nil. In this mode a +separator character is used every few digits, making it easier to see +byte boundaries etc. For more info, see the documentation of the +variable `calculator-radix-grouping-mode'. + +*** LDAP support now defaults to ldapsearch from OpenLDAP version 2. + +*** The terminal emulation code in term.el has been improved; it can +run most curses applications now. + +*** Support for `magic cookie' standout modes has been removed. + +Emacs still works on terminals that require magic cookies in order to +use standout mode, but they can no longer display mode-lines in +inverse-video. + + +* Changes in Emacs 22.1 on non-free operating systems + +** The HOME directory defaults to Application Data under the user profile. + +If you used a previous version of Emacs without setting the HOME +environment variable and a `.emacs' was saved, then Emacs will continue +using C:/ as the default HOME. But if you are installing Emacs afresh, +the default location will be the "Application Data" (or similar +localized name) subdirectory of your user profile. A typical location +of this directory is "C:\Documents and Settings\USERNAME\Application Data", +where USERNAME is your user name. + +This change means that users can now have their own `.emacs' files on +shared computers, and the default HOME directory is less likely to be +read-only on computers that are administered by someone else. + +** Images are now supported on MS Windows. + +PBM and XBM images are supported out of the box. Other image formats +depend on external libraries. All of these libraries have been ported +to Windows, and can be found in both source and binary form at +http://gnuwin32.sourceforge.net/. Note that libpng also depends on +zlib, and tiff depends on the version of jpeg that it was compiled +against. For additional information, see nt/INSTALL. + +** Sound is now supported on MS Windows. + +WAV format is supported on all versions of Windows, other formats such +as AU, AIFF and MP3 may be supported in the more recent versions of +Windows, or when other software provides hooks into the system level +sound support for those formats. + +** Tooltips now work on MS Windows. + +See the Emacs 21.1 NEWS entry for tooltips for details. + +** Pointing devices with more than 3 buttons are now supported on MS Windows. + +The new variable `w32-pass-extra-mouse-buttons-to-system' controls +whether Emacs should handle the extra buttons itself (the default), or +pass them to Windows to be handled with system-wide functions. + +** Passing resources on the command line now works on MS Windows. + +You can use --xrm to pass resource settings to Emacs, overriding any +existing values. For example: + + emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20" + +will start up Emacs on an initial frame of 100x20 with red background, +irrespective of geometry or background setting on the Windows registry. + +** Emacs takes note of colors defined in Control Panel on MS-Windows. + +The Control Panel defines some default colors for applications in much +the same way as wildcard X Resources do on X. Emacs now adds these +colors to the colormap prefixed by System (eg SystemMenu for the +default Menu background, SystemMenuText for the foreground), and uses +some of them to initialize some of the default faces. +`list-colors-display' shows the list of System color names, in case +you wish to use them in other faces. + +** Running in a console window in Windows now uses the console size. + +Previous versions of Emacs erred on the side of having a usable Emacs +through telnet, even though that was inconvenient if you use Emacs in +a local console window with a scrollback buffer. The default value of +w32-use-full-screen-buffer is now nil, which favors local console +windows. Recent versions of Windows telnet also work well with this +setting. If you are using an older telnet server then Emacs detects +that the console window dimensions that are reported are not sane, and +defaults to 80x25. If you use such a telnet server regularly at a size +other than 80x25, you can still manually set +w32-use-full-screen-buffer to t. + +** Different shaped mouse pointers are supported on MS Windows. + +The mouse pointer changes shape depending on what is under the pointer. + +** On MS Windows, the "system caret" now follows the cursor. + +This enables Emacs to work better with programs that need to track the +cursor, for example screen magnifiers and text to speech programs. +When such a program is in use, the system caret is made visible +instead of Emacs drawing its own cursor. This seems to be required by +some programs. The new variable w32-use-visible-system-caret allows +the caret visibility to be manually toggled. + +** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. + +Those systems use Unicode internally, so this allows Emacs to share +multilingual text with other applications. On other versions of +MS Windows, Emacs now uses the appropriate locale coding-system, so +the clipboard should work correctly for your local language without +any customizations. + +** On Mac OS, `keyboard-coding-system' changes based on the keyboard script. + +** The variable `mac-keyboard-text-encoding' and the constants +`kTextEncodingMacRoman', `kTextEncodingISOLatin1', and +`kTextEncodingISOLatin2' are obsolete. + +** The variable `mac-command-key-is-meta' is obsolete. Use +`mac-command-modifier' and `mac-option-modifier' instead. + +* Incompatible Lisp Changes in Emacs 22.1 + +** Mode line display ignores text properties as well as the +:propertize and :eval forms in the value of a variable whose +`risky-local-variable' property is nil. + +The function `comint-send-input' now accepts 3 optional arguments: + + (comint-send-input &optional no-newline artificial) + +Callers sending input not from the user should use bind the 3rd +argument `artificial' to a non-nil value, to prevent Emacs from +deleting the part of subprocess output that matches the input. + +** The `read-file-name' function now returns a null string if the +user just types RET. + +** The variables post-command-idle-hook and post-command-idle-delay have +been removed. Use run-with-idle-timer instead. + +** A hex or octal escape in a string constant forces the string to +be multibyte or unibyte, respectively. + +** The explicit method of creating a display table element by +combining a face number and a character code into a numeric +glyph code is deprecated. + +Instead, the new functions `make-glyph-code', `glyph-char', and +`glyph-face' must be used to create and decode glyph codes in +display tables. + +** `suppress-keymap' now works by remapping `self-insert-command' to +the command `undefined'. (In earlier Emacs versions, it used +`substitute-key-definition' to rebind self inserting characters to +`undefined'.) + +** The third argument of `accept-process-output' is now milliseconds. +It used to be microseconds. + +** The function find-operation-coding-system may be called with a cons +(FILENAME . BUFFER) in the second argument if the first argument +OPERATION is `insert-file-contents', and thus a function registered in +`file-coding-system-alist' is also called with such an argument. + +** When Emacs receives a USR1 or USR2 signal, this generates +input events: sigusr1 or sigusr2. Use special-event-map to +handle these events. + +** The variable `memory-full' now remains t until +there is no longer a shortage of memory. + +** Support for Mocklisp has been removed. + + +* Lisp Changes in Emacs 22.1 + +** General Lisp changes: + +*** New syntax: \s now stands for the SPACE character. + +`?\s' is a new way to write the space character. You must make sure +it is not followed by a dash, since `?\s-...' indicates the "super" +modifier. However, it would be strange to write a character constant +and a following symbol (beginning with `-') with no space between +them. + +`\s' stands for space in strings, too, but it is not really meant for +strings; it is easier and nicer just to write a space. + +*** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex. + +For instance, you can use "\u0428" to specify a string consisting of +CYRILLIC CAPITAL LETTER SHA, or `"U0001D6E2" to specify one consisting +of MATHEMATICAL ITALIC CAPITAL ALPHA (the latter is greater than +#xFFFF and thus needs the longer syntax). + +This syntax works for both character constants and strings. + +*** New function `unsafep' determines whether a Lisp form is safe. + +It returns nil if the given Lisp form can't possibly do anything +dangerous; otherwise it returns a reason why the form might be unsafe +(calls unknown function, alters global variable, etc.). + +*** The function `eql' is now available without requiring the CL package. + +*** The new function `memql' is like `memq', but uses `eql' for comparison, +that is, floats are compared by value and other elements with `eq'. + +*** New functions `string-or-null-p' and `booleanp'. + +`string-or-null-p' returns non-nil if OBJECT is a string or nil. +`booleanp' returns non-nil if OBJECT is t or nil. + +*** `makehash' is now obsolete. Use `make-hash-table' instead. + +*** Minor change in the function `format'. + +Some flags that were accepted but not implemented (such as "*") are no +longer accepted. + +*** `add-to-list' takes an optional third argument, APPEND. + +If APPEND is non-nil, the new element gets added at the end of the +list instead of at the beginning. This change actually occurred in +Emacs 21.1, but was not documented then. + +*** New function `add-to-ordered-list' is like `add-to-list' but +associates a numeric ordering of each element added to the list. + +*** New function `add-to-history' adds an element to a history list. + +Lisp packages should use this function to add elements to their +history lists. + +If `history-delete-duplicates' is non-nil, it removes duplicates of +the new element from the history list it updates. + +*** New function `copy-tree' makes a copy of a tree. + +It recursively copies through both CARs and CDRs. + +*** New function `delete-dups' deletes `equal' duplicate elements from a list. + +It modifies the list destructively, like `delete'. Of several `equal' +occurrences of an element in the list, the one that's kept is the +first one. + +*** New function `rassq-delete-all'. + +(rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose +CDR is `eq' to the specified value. + +*** Functions `get' and `plist-get' no longer give errors for bad plists. + +They return nil for a malformed property list or if the list is +cyclic. + +*** New functions `lax-plist-get' and `lax-plist-put'. + +They are like `plist-get' and `plist-put', except that they compare +the property name using `equal' rather than `eq'. + +*** The function `number-sequence' makes a list of equally-separated numbers. + +For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By +default, the separation is 1, but you can specify a different +separation as the third argument. (number-sequence 1.5 6 2) returns +(1.5 3.5 5.5). + +*** New variables `most-positive-fixnum' and `most-negative-fixnum'. + +They hold the largest and smallest possible integer values. + +*** The function `expt' handles negative exponents differently. +The value for `(expt A B)', if both A and B are integers and B is +negative, is now a float. For example: (expt 2 -2) => 0.25. + +*** The function `atan' now accepts an optional second argument. + +When called with 2 arguments, as in `(atan Y X)', `atan' returns the +angle in radians between the vector [X, Y] and the X axis. (This is +equivalent to the standard C library function `atan2'.) + +*** New macro `with-case-table' + +This executes the body with the case table temporarily set to a given +case table. + +*** New macro `with-local-quit' temporarily allows quitting. + +A quit inside the body of `with-local-quit' is caught by the +`with-local-quit' form itself, but another quit will happen later once +the code that has inhibited quitting exits. + +This is for use around potentially blocking or long-running code +inside timer functions and `post-command-hook' functions. + +*** New macro `define-obsolete-function-alias'. + +This combines `defalias' and `make-obsolete'. + +*** New macro `eval-at-startup' specifies expressions to +evaluate when Emacs starts up. If this is done after startup, +it evaluates those expressions immediately. + +This is useful in packages that can be preloaded. + +*** New function `macroexpand-all' expands all macros in a form. + +It is similar to the Common-Lisp function of the same name. +One difference is that it guarantees to return the original argument +if no expansion is done, which can be tested using `eq'. + +*** A function or macro's doc string can now specify the calling pattern. + +You put this info in the doc string's last line. It should be +formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't +specify this explicitly, Emacs determines it from the actual argument +names. Usually that default is right, but not always. + +*** New variable `print-continuous-numbering'. + +When this is non-nil, successive calls to print functions use a single +numbering scheme for circular structure references. This is only +relevant when `print-circle' is non-nil. + +When you bind `print-continuous-numbering' to t, you should +also bind `print-number-table' to nil. + +*** `list-faces-display' takes an optional argument, REGEXP. + +If it is non-nil, the function lists only faces matching this regexp. + +*** New hook `command-error-function'. + +By setting this variable to a function, you can control +how the editor command loop shows the user an error message. + +*** `debug-on-entry' accepts primitive functions that are not special forms. + +** Lisp code indentation features: + +*** The `defmacro' form can contain indentation and edebug declarations. + +These declarations specify how to indent the macro calls in Lisp mode +and how to debug them with Edebug. You write them like this: + + (defmacro NAME LAMBDA-LIST [DOC-STRING] [DECLARATION ...] ...) + +DECLARATION is a list `(declare DECLARATION-SPECIFIER ...)'. The +possible declaration specifiers are: + +(indent INDENT) + Set NAME's `lisp-indent-function' property to INDENT. + +(edebug DEBUG) + Set NAME's `edebug-form-spec' property to DEBUG. (This is + equivalent to writing a `def-edebug-spec' for the macro, + but this is cleaner.) + +*** cl-indent now allows customization of Indentation of backquoted forms. + +See the new user option `lisp-backquote-indentation'. + +*** cl-indent now handles indentation of simple and extended `loop' forms. + +The new user options `lisp-loop-keyword-indentation', +`lisp-loop-forms-indentation', and `lisp-simple-loop-indentation' can +be used to customize the indentation of keywords and forms in loop +forms. + +** Variable aliases: + +*** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING] + +This function defines the symbol ALIAS-VAR as a variable alias for +symbol BASE-VAR. This means that retrieving the value of ALIAS-VAR +returns the value of BASE-VAR, and changing the value of ALIAS-VAR +changes the value of BASE-VAR. + +DOCSTRING, if present, is the documentation for ALIAS-VAR; else it has +the same documentation as BASE-VAR. + +*** The macro `define-obsolete-variable-alias' combines `defvaralias' and +`make-obsolete-variable'. + +*** New function: indirect-variable VARIABLE + +This function returns the variable at the end of the chain of aliases +of VARIABLE. If VARIABLE is not a symbol, or if VARIABLE is not +defined as an alias, the function returns VARIABLE. + +It might be noteworthy that variables aliases work for all kinds of +variables, including buffer-local and frame-local variables. + +** defcustom changes: + +*** The package-version keyword has been added to provide +`customize-changed-options' functionality to packages in the future. +Developers who make use of this keyword must also update the new +variable `customize-package-emacs-version-alist'. + +*** The new customization type `float' requires a floating point number. + +** String changes: + +*** A hex escape in a string constant forces the string to be multibyte. + +*** An octal escape in a string constant forces the string to be unibyte. + +*** New function `string-to-multibyte' converts a unibyte string to a +multibyte string with the same individual character codes. + +*** `split-string' now includes null substrings in the returned list if +the optional argument SEPARATORS is non-nil and there are matches for +SEPARATORS at the beginning or end of the string. If SEPARATORS is +nil, or if the new optional third argument OMIT-NULLS is non-nil, all +empty matches are omitted from the returned list. + +*** The new function `assoc-string' replaces `assoc-ignore-case' and +`assoc-ignore-representation', which are still available, but have +been declared obsolete. + +*** New function `substring-no-properties' returns a substring without +text properties. + +** Displaying warnings to the user. + +See the functions `warn' and `display-warning', or the Lisp Manual. +If you want to be sure the warning will not be overlooked, this +facility is much better than using `message', since it displays +warnings in a separate window. + +** Progress reporters. + +These provide a simple and uniform way for commands to present +progress messages for the user. + +See the new functions `make-progress-reporter', +`progress-reporter-update', `progress-reporter-force-update', +`progress-reporter-done', and `dotimes-with-progress-reporter'. + +** Buffer positions: + +*** Function `compute-motion' now calculates the usable window +width if the WIDTH argument is nil. If the TOPOS argument is nil, +the usable window height and width is used. + +*** The `line-move', `scroll-up', and `scroll-down' functions will now +modify the window vscroll to scroll through display rows that are +taller that the height of the window, for example in the presence of +large images. To disable this feature, bind the new variable +`auto-window-vscroll' to nil. + +*** The argument to `forward-word', `backward-word' is optional. + +It defaults to 1. + +*** Argument to `forward-to-indentation' and `backward-to-indentation' is optional. + +It defaults to 1. + +*** `field-beginning' and `field-end' take new optional argument, LIMIT. + +This argument tells them not to search beyond LIMIT. Instead they +give up and return LIMIT. + +*** New function `window-line-height' is an efficient way to get +information about a specific text line in a window provided that the +window's display is up-to-date. + +*** New function `line-number-at-pos' returns the line number of a position. + +It an optional buffer position argument that defaults to point. + +*** Function `pos-visible-in-window-p' now returns the pixel coordinates +and partial visibility state of the corresponding row, if the PARTIALLY +arg is non-nil. + +*** New functions `posn-at-point' and `posn-at-x-y' return +click-event-style position information for a given visible buffer +position or for a given window pixel coordinate. + +*** New function `mouse-on-link-p' tests if a position is in a clickable link. + +This is the function used by the new `mouse-1-click-follows-link' +functionality. + +** Text modification: + +*** The new function `buffer-chars-modified-tick' returns a buffer's +tick counter for changes to characters. Each time text in that buffer +is inserted or deleted, the character-change counter is updated to the +tick counter (`buffer-modified-tick'). Text property changes leave it +unchanged. + +*** The new function `insert-for-yank' normally works like `insert', but +removes the text properties in the `yank-excluded-properties' list +and handles the `yank-handler' text property. + +*** The new function `insert-buffer-substring-as-yank' is like +`insert-for-yank' except that it gets the text from another buffer as +in `insert-buffer-substring'. + +*** The new function `insert-buffer-substring-no-properties' is like +`insert-buffer-substring', but removes all text properties from the +inserted substring. + +*** The new function `filter-buffer-substring' extracts a buffer +substring, passes it through a set of filter functions, and returns +the filtered substring. Use it instead of `buffer-substring' or +`delete-and-extract-region' when copying text into a user-accessible +data structure, such as the kill-ring, X clipboard, or a register. + +The list of filter function is specified by the new variable +`buffer-substring-filters'. For example, Longlines mode adds to +`buffer-substring-filters' to remove soft newlines from the copied +text. + +*** Function `translate-region' accepts also a char-table as TABLE +argument. + +*** The new translation table `translation-table-for-input' +is used for customizing self-insertion. The character to +be inserted is translated through it. + +*** Text clones. + +The new function `text-clone-create'. Text clones are chunks of text +that are kept identical by transparently propagating changes from one +clone to the other. + +*** The function `insert-string' is now obsolete. + +** Filling changes. + +*** In determining an adaptive fill prefix, Emacs now tries the function in +`adaptive-fill-function' _before_ matching the buffer line against +`adaptive-fill-regexp' rather than _after_ it. + +** Atomic change groups. + +To perform some changes in the current buffer "atomically" so that +they either all succeed or are all undone, use `atomic-change-group' +around the code that makes changes. For instance: + + (atomic-change-group + (insert foo) + (delete-region x y)) + +If an error (or other nonlocal exit) occurs inside the body of +`atomic-change-group', it unmakes all the changes in that buffer that +were during the execution of the body. The change group has no effect +on any other buffers--any such changes remain. + +If you need something more sophisticated, you can directly call the +lower-level functions that `atomic-change-group' uses. Here is how. + +To set up a change group for one buffer, call `prepare-change-group'. +Specify the buffer as argument; it defaults to the current buffer. +This function returns a "handle" for the change group. You must save +the handle to activate the change group and then finish it. + +Before you change the buffer again, you must activate the change +group. Pass the handle to `activate-change-group' afterward to +do this. + +After you make the changes, you must finish the change group. You can +either accept the changes or cancel them all. Call +`accept-change-group' to accept the changes in the group as final; +call `cancel-change-group' to undo them all. + +You should use `unwind-protect' to make sure the group is always +finished. The call to `activate-change-group' should be inside the +`unwind-protect', in case the user types C-g just after it runs. +(This is one reason why `prepare-change-group' and +`activate-change-group' are separate functions.) Once you finish the +group, don't use the handle again--don't try to finish the same group +twice. + +To make a multibuffer change group, call `prepare-change-group' once +for each buffer you want to cover, then use `nconc' to combine the +returned values, like this: + + (nconc (prepare-change-group buffer-1) + (prepare-change-group buffer-2)) + +You can then activate the multibuffer change group with a single call +to `activate-change-group', and finish it with a single call to +`accept-change-group' or `cancel-change-group'. + +Nested use of several change groups for the same buffer works as you +would expect. Non-nested use of change groups for the same buffer +will lead to undesirable results, so don't let it happen; the first +change group you start for any given buffer should be the last one +finished. + +** Buffer-related changes: + +*** The new function `buffer-local-value' returns the buffer-local +binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not +have a buffer-local binding in buffer BUFFER, it returns the default +value of VARIABLE instead. + +*** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. + +If it is non-nil, it specifies which buffers to list. + +*** `kill-buffer-hook' is now a permanent local. + +*** The function `frame-or-buffer-changed-p' now lets you maintain +various status records in parallel. + +It takes a variable (a symbol) as argument. If the variable is non-nil, +then its value should be a vector installed previously by +`frame-or-buffer-changed-p'. If the frame names, buffer names, buffer +order, or their read-only or modified flags have changed, since the +time the vector's contents were recorded by a previous call to +`frame-or-buffer-changed-p', then the function returns t. Otherwise +it returns nil. + +On the first call to `frame-or-buffer-changed-p', the variable's +value should be nil. `frame-or-buffer-changed-p' stores a suitable +vector into the variable and returns t. + +If the variable is itself nil, then `frame-or-buffer-changed-p' uses, +for compatibility, an internal variable which exists only for this +purpose. + +*** The function `read-buffer' follows the convention for reading from +the minibuffer with a default value: if DEF is non-nil, the minibuffer +prompt provided in PROMPT is edited to show the default value provided +in DEF before the terminal colon and space. + +** Searching and matching changes: + +*** New function `looking-back' checks whether a regular expression matches +the text before point. Specifying the LIMIT argument bounds how far +back the match can start; this is a way to keep it from taking too long. + +*** The new variable `search-spaces-regexp' controls how to search +for spaces in a regular expression. If it is non-nil, it should be a +regular expression, and any series of spaces stands for that regular +expression. If it is nil, spaces stand for themselves. + +Spaces inside of constructs such as `[..]' and inside loops such as +`*', `+', and `?' are never replaced with `search-spaces-regexp'. + +*** New regular expression operators, `\_<' and `\_>'. + +These match the beginning and end of a symbol. A symbol is a +non-empty sequence of either word or symbol constituent characters, as +specified by the syntax table. + +*** `skip-chars-forward' and `skip-chars-backward' now handle +character classes such as `[:alpha:]', along with individual +characters and ranges. + +*** In `replace-match', the replacement text no longer inherits +properties from surrounding text. + +*** The list returned by `(match-data t)' now has the buffer as a final +element, if the last match was on a buffer. `set-match-data' +accepts such a list for restoring the match state. + +*** Functions `match-data' and `set-match-data' now have an optional +argument `reseat'. When non-nil, all markers in the match data list +passed to these functions will be reseated to point to nowhere. + +*** rx.el has new corresponding `symbol-start' and `symbol-end' elements. + +*** The default value of `sentence-end' is now defined using the new +variable `sentence-end-without-space', which contains such characters +that end a sentence without following spaces. + +The function `sentence-end' should be used to obtain the value of the +variable `sentence-end'. If the variable `sentence-end' is nil, then +this function returns the regexp constructed from the variables +`sentence-end-without-period', `sentence-end-double-space' and +`sentence-end-without-space'. + +** Undo changes: + +*** `buffer-undo-list' allows programmable elements. + +These elements have the form (apply FUNNAME . ARGS), where FUNNAME is +a symbol other than t or nil. That stands for a high-level change +that should be undone by evaluating (apply FUNNAME ARGS). + +These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS) +which indicates that the change which took place was limited to the +range BEG...END and increased the buffer size by DELTA. + +*** If the buffer's undo list for the current command gets longer than +`undo-outer-limit', garbage collection empties it. This is to prevent +it from using up the available memory and choking Emacs. + +** Killing and yanking changes: + +*** New `yank-handler' text property can be used to control how +previously killed text on the kill ring is reinserted. + +The value of the `yank-handler' property must be a list with one to four +elements with the following format: + (FUNCTION PARAM NOEXCLUDE UNDO). + +The `insert-for-yank' function looks for a yank-handler property on +the first character on its string argument (typically the first +element on the kill-ring). If a `yank-handler' property is found, +the normal behavior of `insert-for-yank' is modified in various ways: + + When FUNCTION is present and non-nil, it is called instead of `insert' +to insert the string. FUNCTION takes one argument--the object to insert. + If PARAM is present and non-nil, it replaces STRING as the object +passed to FUNCTION (or `insert'); for example, if FUNCTION is +`yank-rectangle', PARAM should be a list of strings to insert as a +rectangle. + If NOEXCLUDE is present and non-nil, the normal removal of the +`yank-excluded-properties' is not performed; instead FUNCTION is +responsible for removing those properties. This may be necessary +if FUNCTION adjusts point before or after inserting the object. + If UNDO is present and non-nil, it is a function that will be called +by `yank-pop' to undo the insertion of the current object. It is +called with two arguments, the start and end of the current region. +FUNCTION can set `yank-undo-function' to override the UNDO value. + +*** The functions `kill-new', `kill-append', and `kill-region' now have an +optional argument to specify the `yank-handler' text property to put on +the killed text. + +*** The function `yank-pop' will now use a non-nil value of the variable +`yank-undo-function' (instead of `delete-region') to undo the previous +`yank' or `yank-pop' command (or a call to `insert-for-yank'). The function +`insert-for-yank' automatically sets that variable according to the UNDO +element of the string argument's `yank-handler' text property if present. + +*** The function `insert-for-yank' now supports strings where the +`yank-handler' property does not span the first character of the +string. The old behavior is available if you call +`insert-for-yank-1' instead. + +** Syntax table changes: + +*** The new function `syntax-ppss' provides an efficient way to find the +current syntactic context at point. + +*** The new function `syntax-after' returns the syntax code +of the character after a specified buffer position, taking account +of text properties as well as the character code. + +*** `syntax-class' extracts the class of a syntax code (as returned +by `syntax-after'). + +*** The macro `with-syntax-table' no longer copies the syntax table. + +** File operation changes: + +*** New vars `exec-suffixes' and `load-suffixes' used when +searching for an executable or an Emacs Lisp file. + +*** New function `locate-file' searches for a file in a list of directories. +`locate-file' accepts a name of a file to search (a string), and two +lists: a list of directories to search in and a list of suffixes to +try; typical usage might use `exec-path' and `load-path' for the list +of directories, and `exec-suffixes' and `load-suffixes' for the list +of suffixes. The function also accepts a predicate argument to +further filter candidate files. + +One advantage of using this function is that the list of suffixes in +`exec-suffixes' is OS-dependant, so this function will find +executables without polluting Lisp code with OS dependencies. + +*** The new function `file-remote-p' tests a file name and returns +non-nil if it specifies a remote file (one that Emacs accesses using +its own special methods and not directly through the file system). +The value in that case is an identifier for the remote file system. + +*** The new hook `before-save-hook' is invoked by `basic-save-buffer' +before saving buffers. This allows packages to perform various final +tasks. For example, it can be used by the copyright package to make +sure saved files have the current year in any copyright headers. + +*** `file-chase-links' now takes an optional second argument LIMIT which +specifies the maximum number of links to chase through. If after that +many iterations the file name obtained is still a symbolic link, +`file-chase-links' returns it anyway. + +*** Functions `file-name-sans-extension' and `file-name-extension' now +ignore the leading dots in file names, so that file names such as +`.emacs' are treated as extensionless. + +*** If `buffer-save-without-query' is non-nil in some buffer, +`save-some-buffers' will always save that buffer without asking (if +it's modified). + +*** `buffer-auto-save-file-format' is the new name for what was +formerly called `auto-save-file-format'. It is now a permanent local. + +*** `visited-file-modtime' and `calendar-time-from-absolute' now return +a list of two integers, instead of a cons. + +*** The precedence of file name handlers has been changed. + +Instead of choosing the first handler that matches, +`find-file-name-handler' now gives precedence to a file name handler +that matches nearest the end of the file name. More precisely, the +handler whose (match-beginning 0) is the largest is chosen. In case +of ties, the old "first matched" rule applies. + +*** A file name handler can declare which operations it handles. + +You do this by putting an `operation' property on the handler name +symbol. The property value should be a list of the operations that +the handler really handles. It won't be called for any other +operations. + +This is useful for autoloaded handlers, to prevent them from being +autoloaded when not really necessary. + +*** The function `make-auto-save-file-name' is now handled by file +name handlers. This will be exploited for remote files mainly. + +*** The function `file-name-completion' accepts an optional argument +PREDICATE, and rejects completion candidates that don't satisfy PREDICATE. + +*** The new primitive `set-file-times' sets a file's access and +modification times. Magic file name handlers can handle this +operation. + +** Input changes: + +*** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that +display a prompt but don't use the minibuffer, now display the prompt +using the text properties (esp. the face) of the prompt string. + +*** The functions `read-event', `read-char', and `read-char-exclusive' +have a new optional argument SECONDS. If non-nil, this specifies a +maximum time to wait for input, in seconds. If no input arrives after +this time elapses, the functions stop waiting and return nil. + +*** An interactive specification can now use the code letter `U' to get +the up-event that was discarded in case the last key sequence read for a +previous `k' or `K' argument was a down-event; otherwise nil is used. + +*** The new interactive-specification `G' reads a file name +much like `F', but if the input is a directory name (even defaulted), +it returns just the directory name. + +*** (while-no-input BODY...) runs BODY, but only so long as no input +arrives. If the user types or clicks anything, BODY stops as if a +quit had occurred. `while-no-input' returns the value of BODY, if BODY +finishes. It returns nil if BODY was aborted by a quit, and t if +BODY was aborted by arrival of input. + +*** `recent-keys' now returns the last 300 keys. + +** Minibuffer changes: + +*** The new function `minibufferp' returns non-nil if its optional +buffer argument is a minibuffer. If the argument is omitted, it +defaults to the current buffer. + +*** New function `minibuffer-selected-window' returns the window which +was selected when entering the minibuffer. + +*** The `read-file-name' function now takes an additional argument which +specifies a predicate which the file name read must satisfy. The +new variable `read-file-name-predicate' contains the predicate argument +while reading the file name from the minibuffer; the predicate in this +variable is used by read-file-name-internal to filter the completion list. + +*** The new variable `read-file-name-function' can be used by Lisp code +to override the built-in `read-file-name' function. + +*** The new variable `read-file-name-completion-ignore-case' specifies +whether completion ignores case when reading a file name with the +`read-file-name' function. + +*** The new function `read-directory-name' is for reading a directory name. + +It is like `read-file-name' except that the defaulting works better +for directories, and completion inside it shows only directories. + +*** The new variable `history-add-new-input' specifies whether to add new +elements in history. If set to nil, minibuffer reading functions don't +add new elements to the history list, so it is possible to do this +afterwards by calling `add-to-history' explicitly. + +** Completion changes: + +*** The new function `minibuffer-completion-contents' returns the contents +of the minibuffer just before point. That is what completion commands +operate on. + +*** The functions `all-completions' and `try-completion' now accept lists +of strings as well as hash-tables additionally to alists, obarrays +and functions. Furthermore, the function `test-completion' is now +exported to Lisp. The keys in alists and hash tables can be either +strings or symbols, which are automatically converted with to strings. + +*** The new macro `dynamic-completion-table' supports using functions +as a dynamic completion table. + + (dynamic-completion-table FUN) + +FUN is called with one argument, the string for which completion is required, +and it should return an alist containing all the intended possible +completions. This alist can be a full list of possible completions so that FUN +can ignore the value of its argument. If completion is performed in the +minibuffer, FUN will be called in the buffer from which the minibuffer was +entered. `dynamic-completion-table' then computes the completion. + +*** The new macro `lazy-completion-table' initializes a variable +as a lazy completion table. + + (lazy-completion-table VAR FUN) + +If the completion table VAR is used for the first time (e.g., by passing VAR +as an argument to `try-completion'), the function FUN is called with no +arguments. FUN must return the completion table that will be stored in VAR. +If completion is requested in the minibuffer, FUN will be called in the buffer +from which the minibuffer was entered. The return value of +`lazy-completion-table' must be used to initialize the value of VAR. + +** Abbrev changes: + +*** `define-abbrev' now accepts an optional argument SYSTEM-FLAG. + +If non-nil, this marks the abbrev as a "system" abbrev, which means +that it won't be stored in the user's abbrevs file if he saves the +abbrevs. Major modes that predefine some abbrevs should always +specify this flag. + +*** The new function `copy-abbrev-table' copies an abbrev table. + +It returns a new abbrev table that is a copy of a given abbrev table. + +** Enhancements to keymaps. + +*** Cleaner way to enter key sequences. + +You can enter a constant key sequence in a more natural format, the +same one used for saving keyboard macros, using the macro `kbd'. For +example, + +(kbd "C-x C-f") => "\^x\^f" + +Actually, this format has existed since Emacs 20.1. + +*** Interactive commands can be remapped through keymaps. + +This is an alternative to using `defadvice' or `substitute-key-definition' +to modify the behavior of a key binding using the normal keymap +binding and lookup functionality. + +When a key sequence is bound to a command, and that command is +remapped to another command, that command is run instead of the +original command. + +Example: +Suppose that minor mode `my-mode' has defined the commands +`my-kill-line' and `my-kill-word', and it wants C-k (and any other key +bound to `kill-line') to run the command `my-kill-line' instead of +`kill-line', and likewise it wants to run `my-kill-word' instead of +`kill-word'. + +Instead of rebinding C-k and the other keys in the minor mode map, +command remapping allows you to directly map `kill-line' into +`my-kill-line' and `kill-word' into `my-kill-word' using `define-key': + + (define-key my-mode-map [remap kill-line] 'my-kill-line) + (define-key my-mode-map [remap kill-word] 'my-kill-word) + +When `my-mode' is enabled, its minor mode keymap is enabled too. So +when the user types C-k, that runs the command `my-kill-line'. + +Only one level of remapping is supported. In the above example, this +means that if `my-kill-line' is remapped to `other-kill', then C-k still +runs `my-kill-line'. + +The following changes have been made to provide command remapping: + +- Command remappings are defined using `define-key' with a prefix-key + `remap', i.e. `(define-key MAP [remap CMD] DEF)' remaps command CMD + to definition DEF in keymap MAP. The definition is not limited to + another command; it can be anything accepted for a normal binding. + +- The new function `command-remapping' returns the binding for a + remapped command in the current keymaps, or nil if not remapped. + +- `key-binding' now remaps interactive commands unless the optional + third argument NO-REMAP is non-nil. + +- `where-is-internal' now returns nil for a remapped command (e.g. + `kill-line', when `my-mode' is enabled), and the actual key binding for + the command it is remapped to (e.g. C-k for my-kill-line). + It also has a new optional fifth argument, NO-REMAP, which inhibits + remapping if non-nil (e.g. it returns "C-k" for `kill-line', and + "" for `my-kill-line'). + +- The new variable `this-original-command' contains the original + command before remapping. It is equal to `this-command' when the + command was not remapped. + +*** The definition of a key-binding passed to define-key can use XEmacs-style +key-sequences, such as [(control a)]. + +*** New keymaps for typing file names + +Two new keymaps, `minibuffer-local-filename-completion-map' and +`minibuffer-local-must-match-filename-map', apply whenever +Emacs reads a file name in the minibuffer. These key maps override +the usual binding of SPC to `minibuffer-complete-word' (so that file +names with embedded spaces could be typed without the need to quote +the spaces). + +*** New function `current-active-maps' returns a list of currently +active keymaps. + +*** New function `describe-buffer-bindings' inserts the list of all +defined keys and their definitions. + +*** New function `keymap-prompt' returns the prompt string of a keymap. + +*** If text has a `keymap' property, that keymap takes precedence +over minor mode keymaps. + +*** The `keymap' property now also works at the ends of overlays and +text properties, according to their stickiness. This also means that it +works with empty overlays. The same hold for the `local-map' property. + +*** `key-binding' will now look up mouse-specific bindings. The +keymaps consulted by `key-binding' will get adapted if the key +sequence is started with a mouse event. Instead of letting the click +position be determined from the key sequence itself, it is also +possible to specify it with an optional argument explicitly. + +*** `define-key-after' now accepts keys longer than 1. + +*** (map-keymap FUNCTION KEYMAP) applies the function to each binding +in the keymap. + +*** New variable `emulation-mode-map-alists'. + +Lisp packages using many minor mode keymaps can now maintain their own +keymap alist separate from `minor-mode-map-alist' by adding their +keymap alist to this list. + +*** Dense keymaps now handle inheritance correctly. + +Previously a dense keymap would hide all of the simple-char key +bindings of the parent keymap. + +** Enhancements to process support + +*** Adaptive read buffering of subprocess output. + +On some systems, when Emacs reads the output from a subprocess, the +output data is read in very small blocks, potentially resulting in +very poor performance. This behavior can be remedied to some extent +by setting the new variable `process-adaptive-read-buffering' to a +non-nil value (the default), as it will automatically delay reading +from such processes, allowing them to produce more output before +Emacs tries to read it. + +*** Processes now have an associated property list where programs can +maintain process state and other per-process related information. + +Use the new functions `process-get' and `process-put' to access, add, +and modify elements on this property list. Use the new functions +`process-plist' and `set-process-plist' to access and replace the +entire property list of a process. + +*** Function `list-processes' now has an optional argument; if non-nil, +it lists only the processes whose query-on-exit flag is set. + +*** New fns `set-process-query-on-exit-flag' and `process-query-on-exit-flag'. + +These replace the old function `process-kill-without-query'. That +function is still supported, but new code should use the new +functions. + +*** The new function `call-process-shell-command'. + +This executes a shell command synchronously in a separate process. + +*** The new function `process-file' is similar to `call-process', but +obeys file handlers. The file handler is chosen based on +`default-directory'. + +*** Function `signal-process' now accepts a process object or process +name in addition to a process id to identify the signaled process. + +*** Function `accept-process-output' has a new optional fourth arg +JUST-THIS-ONE. If non-nil, only output from the specified process +is handled, suspending output from other processes. If value is an +integer, also inhibit running timers. This feature is generally not +recommended, but may be necessary for specific applications, such as +speech synthesis. + +*** A process filter function gets the output as multibyte string +if the process specifies t for its filter's multibyteness. + +That multibyteness is decided by the value of +`default-enable-multibyte-characters' when the process is created, and +you can change it later with `set-process-filter-multibyte'. + +*** The new function `set-process-filter-multibyte' sets the +multibyteness of the strings passed to the process's filter. + +*** The new function `process-filter-multibyte-p' returns the +multibyteness of the strings passed to the process's filter. + +*** If a process's coding system is `raw-text' or `no-conversion' and its +buffer is multibyte, the output of the process is at first converted +to multibyte by `string-to-multibyte' then inserted in the buffer. +Previously, it was converted to multibyte by `string-as-multibyte', +which was not compatible with the behavior of file reading. + +** Enhanced networking support. + +*** The new `make-network-process' function makes network connections. +It allows opening of stream and datagram connections to a server, as well as +create a stream or datagram server inside Emacs. + +- A server is started using :server t arg. +- Datagram connection is selected using :type 'datagram arg. +- A server can open on a random port using :service t arg. +- Local sockets are supported using :family 'local arg. +- IPv6 is supported (when available). You may explicitly select IPv6 + using :family 'ipv6 arg. +- Non-blocking connect is supported using :nowait t arg. +- The process' property list can be initialized using :plist PLIST arg; + a copy of the server process' property list is automatically inherited + by new client processes created to handle incoming connections. + +To test for the availability of a given feature, use featurep like this: + (featurep 'make-network-process '(:type datagram)) + (featurep 'make-network-process '(:family ipv6)) + +*** The old `open-network-stream' now uses `make-network-process'. + +*** `process-contact' has an optional KEY argument. + +Depending on this argument, you can get the complete list of network +process properties or a specific property. Using :local or :remote as +the KEY, you get the address of the local or remote end-point. + +An Inet address is represented as a 5 element vector, where the first +4 elements contain the IP address and the fifth is the port number. + +*** New functions `stop-process' and `continue-process'. + +These functions stop and restart communication through a network +connection. For a server process, no connections are accepted in the +stopped state. For a client process, no input is received in the +stopped state. + +*** New function `format-network-address'. + +This function reformats the Lisp representation of a network address +to a printable string. For example, an IP address A.B.C.D and port +number P is represented as a five element vector [A B C D P], and the +printable string returned for this vector is "A.B.C.D:P". See the doc +string for other formatting options. + +*** New function `network-interface-list'. + +This function returns a list of network interface names and their +current network addresses. + +*** New function `network-interface-info'. + +This function returns the network address, hardware address, current +status, and other information about a specific network interface. + +*** New functions `process-datagram-address', `set-process-datagram-address'. + +These functions are used with datagram-based network processes to get +and set the current address of the remote partner. + +*** Deleting a network process with `delete-process' calls the sentinel. + +The status message passed to the sentinel for a deleted network +process is "deleted". The message passed to the sentinel when the +connection is closed by the remote peer has been changed to +"connection broken by remote peer". + +** Using window objects: + +*** You can now make a window as short as one line. + +A window that is just one line tall does not display either a mode +line or a header line, even if the variables `mode-line-format' and +`header-line-format' call for them. A window that is two lines tall +cannot display both a mode line and a header line at once; if the +variables call for both, only the mode line actually appears. + +*** The new function `window-inside-edges' returns the edges of the +actual text portion of the window, not including the scroll bar or +divider line, the fringes, the display margins, the header line and +the mode line. + +*** The new functions `window-pixel-edges' and `window-inside-pixel-edges' +return window edges in units of pixels, rather than columns and lines. + +*** New function `window-body-height'. + +This is like `window-height' but does not count the mode line or the +header line. + +*** The new function `adjust-window-trailing-edge' moves the right +or bottom edge of a window. It does not move other window edges. + +*** The new macro `with-selected-window' temporarily switches the +selected window without impacting the order of `buffer-list'. +It saves and restores the current buffer, too. + +*** `select-window' takes an optional second argument NORECORD. + +This is like `switch-to-buffer'. + +*** `save-selected-window' now saves and restores the selected window +of every frame. This way, it restores everything that can be changed +by calling `select-window'. It also saves and restores the current +buffer. + +*** `set-window-buffer' has an optional argument KEEP-MARGINS. + +If non-nil, that says to preserve the window's current margin, fringe, +and scroll-bar settings. + +*** The new function `window-tree' returns a frame's window tree. + +*** The functions `get-lru-window' and `get-largest-window' take an optional +argument `dedicated'. If non-nil, those functions do not ignore +dedicated windows. + +** Customizable fringe bitmaps + +*** There are new display properties, `left-fringe' and `right-fringe', +that can be used to show a specific bitmap in the left or right fringe +bitmap of the display line. + +Format is `display (left-fringe BITMAP [FACE])', where BITMAP is a +symbol identifying a fringe bitmap, either built-in or defined with +`define-fringe-bitmap', and FACE is an optional face name to be used +for displaying the bitmap instead of the default `fringe' face. +When specified, FACE is automatically merged with the `fringe' face. + +*** New buffer-local variables `fringe-indicator-alist' and +`fringe-cursor-alist' maps between logical (internal) fringe indicator +and cursor symbols and the actual fringe bitmaps to be displayed. +This decouples the logical meaning of the fringe indicators from the +physical appearance, as well as allowing different fringe bitmaps to +be used in different windows showing different buffers. + +*** New function `define-fringe-bitmap' can now be used to create new +fringe bitmaps, as well as change the built-in fringe bitmaps. + +*** New function `destroy-fringe-bitmap' deletes a fringe bitmap +or restores a built-in one to its default value. + +*** New function `set-fringe-bitmap-face' specifies the face to be +used for a specific fringe bitmap. The face is automatically merged +with the `fringe' face, so normally, the face should only specify the +foreground color of the bitmap. + +*** New function `fringe-bitmaps-at-pos' returns the current fringe +bitmaps in the display line at a given buffer position. + +** Other window fringe features: + +*** Controlling the default left and right fringe widths. + +The default left and right fringe widths for all windows of a frame +can now be controlled by setting the `left-fringe' and `right-fringe' +frame parameters to an integer value specifying the width in pixels. +Setting the width to 0 effectively removes the corresponding fringe. + +The actual default fringe widths for the frame may deviate from the +specified widths, since the combined fringe widths must match an +integral number of columns. The extra width is distributed evenly +between the left and right fringe. To force a specific fringe width, +specify the width as a negative integer (if both widths are negative, +only the left fringe gets the specified width). + +Setting the width to nil (the default), restores the default fringe +width which is the minimum number of pixels necessary to display any +of the currently defined fringe bitmaps. The width of the built-in +fringe bitmaps is 8 pixels. + +*** Per-window fringe and scrollbar settings + +**** Windows can now have their own individual fringe widths and +position settings. + +To control the fringe widths of a window, either set the buffer-local +variables `left-fringe-width', `right-fringe-width', or call +`set-window-fringes'. + +To control the fringe position in a window, that is, whether fringes +are positioned between the display margins and the window's text area, +or at the edges of the window, either set the buffer-local variable +`fringes-outside-margins' or call `set-window-fringes'. + +The function `window-fringes' can be used to obtain the current +settings. To make `left-fringe-width', `right-fringe-width', and +`fringes-outside-margins' take effect, you must set them before +displaying the buffer in a window, or use `set-window-buffer' to force +an update of the display margins. + +**** Windows can now have their own individual scroll-bar settings +controlling the width and position of scroll-bars. + +To control the scroll-bar of a window, either set the buffer-local +variables `scroll-bar-mode' and `scroll-bar-width', or call +`set-window-scroll-bars'. The function `window-scroll-bars' can be +used to obtain the current settings. To make `scroll-bar-mode' and +`scroll-bar-width' take effect, you must set them before displaying +the buffer in a window, or use `set-window-buffer' to force an update +of the display margins. + +** Redisplay features: + +*** `sit-for' can now be called with args (SECONDS &optional NODISP). + +*** Iconifying or deiconifying a frame no longer makes sit-for return. + +*** New function `redisplay' causes an immediate redisplay if no input is +available, equivalent to (sit-for 0). The call (redisplay t) forces +an immediate redisplay even if input is pending. + +*** New function `force-window-update' can initiate a full redisplay of +one or all windows. Normally, this is not needed as changes in window +contents are detected automatically. However, certain implicit +changes to mode lines, header lines, or display properties may require +forcing an explicit window update. + +*** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able +to display CHAR. More precisely, if the selected frame's fontset has +a font to display the character set that CHAR belongs to. + +Fontsets can specify a font on a per-character basis; when the fontset +does that, this value cannot be accurate. + +*** You can define multiple overlay arrows via the new +variable `overlay-arrow-variable-list'. + +It contains a list of variables which contain overlay arrow position +markers, including the original `overlay-arrow-position' variable. + +Each variable on this list can have individual `overlay-arrow-string' +and `overlay-arrow-bitmap' properties that specify an overlay arrow +string (for non-window terminals) or fringe bitmap (for window +systems) to display at the corresponding overlay arrow position. +If either property is not set, the default `overlay-arrow-string' or +'overlay-arrow-fringe-bitmap' will be used. + +*** New `line-height' and `line-spacing' properties for newline characters + +A newline can now have `line-height' and `line-spacing' text or overlay +properties that control the height of the corresponding display row. + +If the `line-height' property value is t, the newline does not +contribute to the height of the display row; instead the height of the +newline glyph is reduced. Also, a `line-spacing' property on this +newline is ignored. This can be used to tile small images or image +slices without adding blank areas between the images. + +If the `line-height' property value is a positive integer, the value +specifies the minimum line height in pixels. If necessary, the line +height it increased by increasing the line's ascent. + +If the `line-height' property value is a float, the minimum line +height is calculated by multiplying the default frame line height by +the given value. + +If the `line-height' property value is a cons (FACE . RATIO), the +minimum line height is calculated as RATIO * height of named FACE. +RATIO is int or float. If FACE is t, it specifies the current face. + +If the `line-height' property value is a cons (nil . RATIO), the line +height is calculated as RATIO * actual height of the line's contents. + +If the `line-height' value is a cons (HEIGHT . TOTAL), HEIGHT specifies +the line height as described above, while TOTAL is any of the forms +described above and specifies the total height of the line, causing a +varying number of pixels to be inserted after the line to make it line +exactly that many pixels high. + +If the `line-spacing' property value is an positive integer, the value +is used as additional pixels to insert after the display line; this +overrides the default frame `line-spacing' and any buffer local value of +the `line-spacing' variable. + +If the `line-spacing' property is a float or cons, the line spacing +is calculated as specified above for the `line-height' property. + +*** The buffer local `line-spacing' variable can now have a float value, +which is used as a height relative to the default frame line height. + +*** Enhancements to stretch display properties + +The display property stretch specification form `(space PROPS)', where +PROPS is a property list, now allows pixel based width and height +specifications, as well as enhanced horizontal text alignment. + +The value of these properties can now be a (primitive) expression +which is evaluated during redisplay. The following expressions +are supported: + +EXPR ::= NUM | (NUM) | UNIT | ELEM | POS | IMAGE | FORM +NUM ::= INTEGER | FLOAT | SYMBOL +UNIT ::= in | mm | cm | width | height +ELEM ::= left-fringe | right-fringe | left-margin | right-margin + | scroll-bar | text +POS ::= left | center | right +FORM ::= (NUM . EXPR) | (OP EXPR ...) +OP ::= + | - + +The form `NUM' specifies a fractional width or height of the default +frame font size. The form `(NUM)' specifies an absolute number of +pixels. If a symbol is specified, its buffer-local variable binding +is used. The `in', `mm', and `cm' units specifies the number of +pixels per inch, milli-meter, and centi-meter, resp. The `width' and +`height' units correspond to the width and height of the current face +font. An image specification corresponds to the width or height of +the image. + +The `left-fringe', `right-fringe', `left-margin', `right-margin', +`scroll-bar', and `text' elements specify to the width of the +corresponding area of the window. + +The `left', `center', and `right' positions can be used with :align-to +to specify a position relative to the left edge, center, or right edge +of the text area. One of the above window elements (except `text') +can also be used with :align-to to specify that the position is +relative to the left edge of the given area. Once the base offset for +a relative position has been set (by the first occurrence of one of +these symbols), further occurrences of these symbols are interpreted as +the width of the area. + +For example, to align to the center of the left-margin, use + :align-to (+ left-margin (0.5 . left-margin)) + +If no specific base offset is set for alignment, it is always relative +to the left edge of the text area. For example, :align-to 0 in a +header line aligns with the first text column in the text area. + +The value of the form `(NUM . EXPR)' is the value of NUM multiplied by +the value of the expression EXPR. For example, (2 . in) specifies a +width of 2 inches, while (0.5 . IMAGE) specifies half the width (or +height) of the specified image. + +The form `(+ EXPR ...)' adds up the value of the expressions. +The form `(- EXPR ...)' negates or subtracts the value of the expressions. + +*** Normally, the cursor is displayed at the end of any overlay and +text property string that may be present at the current window +position. The cursor can now be placed on any character of such +strings by giving that character a non-nil `cursor' text property. + +*** The display space :width and :align-to text properties are now +supported on text terminals. + +*** Support for displaying image slices + +**** New display property (slice X Y WIDTH HEIGHT) can be used with +an image property to display only a specific slice of the image. + +**** Function `insert-image' has new optional fourth arg to +specify image slice (X Y WIDTH HEIGHT). + +**** New function `insert-sliced-image' inserts a given image as a +specified number of evenly sized slices (rows x columns). + +*** Images can now have an associated image map via the :map property. + +An image map is an alist where each element has the format (AREA ID PLIST). +An AREA is specified as either a rectangle, a circle, or a polygon: +A rectangle is a cons (rect . ((X0 . Y0) . (X1 . Y1))) specifying the +pixel coordinates of the upper left and bottom right corners. +A circle is a cons (circle . ((X0 . Y0) . R)) specifying the center +and the radius of the circle; R can be a float or integer. +A polygon is a cons (poly . [X0 Y0 X1 Y1 ...]) where each pair in the +vector describes one corner in the polygon. + +When the mouse pointer is above a hot-spot area of an image, the +PLIST of that hot-spot is consulted; if it contains a `help-echo' +property it defines a tool-tip for the hot-spot, and if it contains +a `pointer' property, it defines the shape of the mouse cursor when +it is over the hot-spot. See the variable `void-area-text-pointer' +for possible pointer shapes. + +When you click the mouse when the mouse pointer is over a hot-spot, +an event is composed by combining the ID of the hot-spot with the +mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'. + +*** The function `find-image' now searches in etc/images/ and etc/. +The new variable `image-load-path' is a list of locations in which to +search for image files. The default is to search in etc/images, then +in etc/, and finally in the directories specified by `load-path'. +Subdirectories of etc/ and etc/images are not recursively searched; if +you put an image file in a subdirectory, you have to specify it +explicitly; for example, if an image is put in etc/images/foo/bar.xpm: + + (defimage foo-image '((:type xpm :file "foo/bar.xpm"))) + +Note that all images formerly located in the lisp directory have been +moved to etc/images. + +*** New function `image-load-path-for-library' returns a suitable +search path for images relative to library. This function is useful in +external packages to save users from having to update +`image-load-path'. + +*** The new variable `max-image-size' defines the maximum size of +images that Emacs will load and display. + +*** The new variable `display-mm-dimensions-alist' can be used to +override incorrect graphical display dimensions returned by functions +`display-mm-height' and `display-mm-width'. + +** Mouse pointer features: + +*** The mouse pointer shape in void text areas (i.e. after the end of a +line or below the last line in the buffer) of the text window is now +controlled by the new variable `void-text-area-pointer'. The default +is to use the `arrow' (non-text) pointer. Other choices are `text' +(or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'. + +*** The mouse pointer shape over an image can now be controlled by the +:pointer image property. + +*** The mouse pointer shape over ordinary text or images can now be +controlled/overridden via the `pointer' text property. + +** Mouse event enhancements: + +*** All mouse events now include a buffer position regardless of where +you clicked. For mouse clicks in window margins and fringes, this is +a sensible buffer position corresponding to the surrounding text. + +*** Mouse events for clicks on window fringes now specify `left-fringe' +or `right-fringe' as the area. + +*** Mouse events include actual glyph column and row for all event types +and all areas. + +*** Mouse events can now indicate an image object clicked on. + +*** Mouse events include relative X and Y pixel coordinates relative to +the top left corner of the object (image or character) clicked on. + +*** Mouse events include the pixel width and height of the object +(image or character) clicked on. + +*** Function `mouse-set-point' now works for events outside text area. + +*** `posn-point' now returns buffer position for non-text area events. + +*** New function `posn-area' returns window area clicked on (nil means +text area). + +*** New function `posn-actual-col-row' returns the actual glyph coordinates +of the mouse event position. + +*** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'. + +These return the image or string object of a mouse click, the X and Y +pixel coordinates relative to the top left corner of that object, and +the total width and height of that object. + +** Text property and overlay changes: + +*** Arguments for `remove-overlays' are now optional, so that you can +remove all overlays in the buffer with just (remove-overlays). + +*** New variable `char-property-alias-alist'. + +This variable allows you to create alternative names for text +properties. It works at the same level as `default-text-properties', +although it applies to overlays as well. This variable was introduced +to implement the `font-lock-face' property. + +*** New function `get-char-property-and-overlay' accepts the same +arguments as `get-char-property' and returns a cons whose car is the +return value of `get-char-property' called with those arguments and +whose cdr is the overlay in which the property was found, or nil if +it was found as a text property or not found at all. + +*** The new function `remove-list-of-text-properties'. + +It is like `remove-text-properties' except that it takes a list of +property names as argument rather than a property list. + +** Face changes + +*** The variable `facemenu-unlisted-faces' has been removed. +Emacs has a lot more faces than in the past, and nearly all of them +needed to be excluded. The new variable `facemenu-listed-faces' lists +the faces to include in the face menu. + +*** The new face attribute condition `min-colors' can be used to tailor +the face color to the number of colors supported by a display, and +define the foreground and background colors accordingly so that they +look best on a terminal that supports at least this many colors. This +is now the preferred method for defining default faces in a way that +makes a good use of the capabilities of the display. + +*** New function `display-supports-face-attributes-p' can be used to test +whether a given set of face attributes is actually displayable. + +A new predicate `supports' has also been added to the `defface' face +specification language, which can be used to do this test for faces +defined with `defface'. + +*** The special treatment of faces whose names are of the form `fg:COLOR' +or `bg:COLOR' has been removed. Lisp programs should use the +`defface' facility for defining faces with specific colors, or use +the feature of specifying the face attributes :foreground and :background +directly in the `face' property instead of using a named face. + +*** The first face specification element in a defface can specify +`default' instead of frame classification. Then its attributes act as +defaults that apply to all the subsequent cases (and can be overridden +by them). + +*** The function `face-differs-from-default-p' now truly checks +whether the given face displays differently from the default face or +not (previously it did only a very cursory check). + +*** `face-attribute', `face-foreground', `face-background', `face-stipple'. + +These now accept a new optional argument, INHERIT, which controls how +face inheritance is used when determining the value of a face +attribute. + +*** New functions `face-attribute-relative-p' and `merge-face-attribute' +help with handling relative face attributes. + +*** The priority of faces in an :inherit attribute face list is reversed. + +If a face contains an :inherit attribute with a list of faces, earlier +faces in the list override later faces in the list; in previous +releases of Emacs, the order was the opposite. This change was made +so that :inherit face lists operate identically to face lists in text +`face' properties. + +*** The variable `face-font-rescale-alist' specifies how much larger +(or smaller) font we should use. For instance, if the value is +'((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10 +point, we actually use a font of 13 point if the font matches +SOME-FONTNAME-PATTERN. + +*** On terminals, faces with the :inverse-video attribute are displayed +with swapped foreground and background colors even when one of them is +not specified. In previous releases of Emacs, if either foreground +or background color was unspecified, colors were not swapped. This +was inconsistent with the face behavior under X. + +*** `set-fontset-font', `fontset-info', `fontset-font' now operate on +the default fontset if the argument NAME is nil.. + +** Font-Lock changes: + +*** New special text property `font-lock-face'. + +This property acts like the `face' property, but it is controlled by +M-x font-lock-mode. It is not, strictly speaking, a builtin text +property. Instead, it is implemented inside font-core.el, using the +new variable `char-property-alias-alist'. + +*** font-lock can manage arbitrary text-properties beside `face'. + +**** the FACENAME returned in `font-lock-keywords' can be a list of the +form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other +properties than `face'. + +**** `font-lock-extra-managed-props' can be set to make sure those +extra properties are automatically cleaned up by font-lock. + +*** jit-lock obeys a new text-property `jit-lock-defer-multiline'. + +If a piece of text with that property gets contextually refontified +(see `jit-lock-defer-contextually'), then all of that text will +be refontified. This is useful when the syntax of a textual element +depends on text several lines further down (and when `font-lock-multiline' +is not appropriate to solve that problem). For example in Perl: + + s{ + foo + }{ + bar + }e + +Adding/removing the last `e' changes the `bar' from being a piece of +text to being a piece of code, so you'd put a `jit-lock-defer-multiline' +property over the second half of the command to force (deferred) +refontification of `bar' whenever the `e' is added/removed. + +*** `font-lock-extend-region-functions' makes it possible to alter the way +the fontification region is chosen. This can be used to prevent rounding +up to whole lines, or to extend the region to include all related lines +of multiline constructs so that such constructs get properly recognized. + +** Major mode mechanism changes: + +*** New variable `magic-mode-alist' determines major mode for a file by +looking at the file contents. It takes precedence over `auto-mode-alist'. + +*** New variable `magic-fallback-mode-alist' determines major mode for a file by +looking at the file contents. It is handled after `auto-mode-alist', +only if `auto-mode-alist' (and `magic-mode-alist') says nothing about the file. + +*** XML or SGML major mode is selected when file starts with an ` ) + (if (boundp 'foo) form +won't produce a warning if it's not defined as a function, and in the +second case, using `foo' as a variable won't produce a warning if it's +unbound. The test must be in exactly one of the above forms (after +macro expansion), but such tests can be nested. Note that `when' and +`unless' expand to `if', but `cond' doesn't. + +*** `(featurep 'xemacs)' is treated by the compiler as nil. This +helps to avoid noisy compiler warnings in code meant to run under both +Emacs and XEmacs and can sometimes make the result significantly more +efficient. Since byte code from recent versions of XEmacs won't +generally run in Emacs and vice versa, this optimization doesn't lose +you anything. + +*** The local variable `no-byte-compile' in Lisp files is now obeyed. + +*** When a Lisp file uses CL functions at run-time, compiling the file +now issues warnings about these calls, unless the file performs +(require 'cl) when loaded. + +** Frame operations: + +*** New functions `frame-current-scroll-bars' and `window-current-scroll-bars'. + +These functions return the current locations of the vertical and +horizontal scroll bars in a frame or window. + +*** The new function `modify-all-frames-parameters' modifies parameters +for all (existing and future) frames. + +*** The new frame parameter `tty-color-mode' specifies the mode to use +for color support on character terminal frames. Its value can be a +number of colors to support, or a symbol. See the Emacs Lisp +Reference manual for more detailed documentation. + +*** When using non-toolkit scroll bars with the default width, +the `scroll-bar-width' frame parameter value is nil. + +** Mode line changes: + +*** New function `format-mode-line'. + +This returns the mode line or header line of the selected (or a +specified) window as a string with or without text properties. + +*** The new mode-line construct `(:propertize ELT PROPS...)' can be +used to add text properties to mode-line elements. + +*** The new `%i' and `%I' constructs for `mode-line-format' can be used +to display the size of the accessible part of the buffer on the mode +line. + +*** Mouse-face on mode-line (and header-line) is now supported. + +** Menu manipulation changes: + +*** To manipulate the File menu using easy-menu, you must specify the +proper name "file". In previous Emacs versions, you had to specify +"files", even though the menu item itself was changed to say "File" +several versions ago. + +*** The dummy function keys made by easy-menu are now always lower case. +If you specify the menu item name "Ada", for instance, it uses `ada' +as the "key" bound by that key binding. + +This is relevant only if Lisp code looks for the bindings that were +made with easy-menu. + +*** `easy-menu-define' now allows you to use nil for the symbol name +if you don't need to give the menu a name. If you install the menu +into other keymaps right away (MAPS is non-nil), it usually doesn't +need to have a name. + +** Mule changes: + +*** Already true in Emacs 21.1, but not emphasized clearly enough: + +Multibyte buffers can now faithfully record all 256 character codes +from 0 to 255. As a result, most of the past reasons to use unibyte +buffers no longer exist. We only know of three reasons to use them +now: + +1. If you prefer to use unibyte text all of the time. + +2. For reading files into temporary buffers, when you want to avoid +the time it takes to convert the format. + +3. For binary files where format conversion would be pointless and +wasteful. + +*** The new variable `auto-coding-functions' lets you specify functions +to examine a file being visited and deduce the proper coding system +for it. (If the coding system is detected incorrectly for a specific +file, you can put a `coding:' tags to override it.) + +*** The new variable `ascii-case-table' stores the case table for the +ascii character set. Language environments (such as Turkish) may +alter the case correspondences of ASCII characters. This variable +saves the original ASCII case table before any such changes. + +*** The new function `merge-coding-systems' fills in unspecified aspects +of one coding system from another coding system. + +*** New coding system property `mime-text-unsuitable' indicates that +the coding system's `mime-charset' is not suitable for MIME text +parts, e.g. utf-16. + +*** New function `decode-coding-inserted-region' decodes a region as if +it is read from a file without decoding. + +*** New CCL functions `lookup-character' and `lookup-integer' access +hash tables defined by the Lisp function `define-translation-hash-table'. + +*** New function `quail-find-key' returns a list of keys to type in the +current input method to input a character. + +*** `set-buffer-file-coding-system' now takes an additional argument, +NOMODIFY. If it is non-nil, it means don't mark the buffer modified. + +** Operating system access: + +*** The new primitive `get-internal-run-time' returns the processor +run time used by Emacs since start-up. + +*** Functions `user-uid' and `user-real-uid' now return floats if the +user UID doesn't fit in a Lisp integer. Function `user-full-name' +accepts a float as UID parameter. + +*** New function `locale-info' accesses locale information. + +*** On MS Windows, locale-coding-system is used to interact with the OS. +The Windows specific variable w32-system-coding-system, which was +formerly used for that purpose is now an alias for locale-coding-system. + +*** New function `redirect-debugging-output' can be used to redirect +debugging output on the stderr file handle to a file. + +** GC changes: + +*** New variable `gc-cons-percentage' automatically grows the GC cons threshold +as the heap size increases. + +*** New variables `gc-elapsed' and `gcs-done' provide extra information +on garbage collection. + +*** The normal hook `post-gc-hook' is run at the end of garbage collection. + +The hook is run with GC inhibited, so use it with care. + +** Miscellaneous: + +*** A number of hooks have been renamed to better follow the conventions: + +`find-file-hooks' to `find-file-hook', +`find-file-not-found-hooks' to `find-file-not-found-functions', +`write-file-hooks' to `write-file-functions', +`write-contents-hooks' to `write-contents-functions', +`x-lost-selection-hooks' to `x-lost-selection-functions', +`x-sent-selection-hooks' to `x-sent-selection-functions', +`delete-frame-hook' to `delete-frame-functions'. + +In each case the old name remains as an alias for the moment. + +*** Variable `local-write-file-hooks' is marked obsolete. + +Use the LOCAL arg of `add-hook'. + +*** New function `x-send-client-message' sends a client message when +running under X. + +* New Packages for Lisp Programming in Emacs 22.1 + +** The new library button.el implements simple and fast `clickable +buttons' in Emacs buffers. Buttons are much lighter-weight than the +`widgets' implemented by widget.el, and can be used by lisp code that +doesn't require the full power of widgets. Emacs uses buttons for +such things as help and apropos buffers. + +** The new library tree-widget.el provides a widget to display a set +of hierarchical data as an outline. For example, the tree-widget is +well suited to display a hierarchy of directories and files. + +** The new library bindat.el provides functions to unpack and pack +binary data structures, such as network packets, to and from Lisp +data structures. + +** master-mode.el implements a minor mode for scrolling a slave +buffer without leaving your current buffer, the master buffer. + +It can be used by sql.el, for example: the SQL buffer is the master +and its SQLi buffer is the slave. This allows you to scroll the SQLi +buffer containing the output from the SQL buffer containing the +commands. + +This is how to use sql.el and master.el together: the variable +sql-buffer contains the slave buffer. It is a local variable in the +SQL buffer. + +(add-hook 'sql-mode-hook + (function (lambda () + (master-mode t) + (master-set-slave sql-buffer)))) +(add-hook 'sql-set-sqli-hook + (function (lambda () + (master-set-slave sql-buffer)))) + +** The new library benchmark.el does timing measurements on Lisp code. + +This includes measuring garbage collection time. + +** The new library testcover.el does test coverage checking. + +This is so you can tell whether you've tested all paths in your Lisp +code. It works with edebug. + +The function `testcover-start' instruments all functions in a given +file. Then test your code. The function `testcover-mark-all' adds +overlay "splotches" to the Lisp file's buffer to show where coverage +is lacking. The command `testcover-next-mark' (bind it to a key!) +will move point forward to the next spot that has a splotch. + +Normally, a red splotch indicates the form was never completely +evaluated; a brown splotch means it always evaluated to the same +value. The red splotches are skipped for forms that can't possibly +complete their evaluation, such as `error'. The brown splotches are +skipped for forms that are expected to always evaluate to the same +value, such as (setq x 14). + +For difficult cases, you can add do-nothing macros to your code to +help out the test coverage tool. The macro `noreturn' suppresses a +red splotch. It is an error if the argument to `noreturn' does +return. The macro `1value' suppresses a brown splotch for its argument. +This macro is a no-op except during test-coverage -- then it signals +an error if the argument actually returns differing values. + + + +---------------------------------------------------------------------- +This file is part of GNU Emacs. + +GNU Emacs is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3, or (at your option) +any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. + + +Local variables: +mode: outline +paragraph-separate: "[ ]*$" +end: + +arch-tag: 1aca9dfa-2ac4-4d14-bebf-0007cee12793