aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2014-01-11 22:00:54 +0900
committerKenichi Handa2014-01-11 22:00:54 +0900
commitaf05bef2d1985fb9bd8485f3084f3bfe282a911f (patch)
tree073c53ac52592c200d8b00e5458d4dc70c8647f4
parent3923e7bde942018135c7362c75327ffddcbd81fc (diff)
parent02013850f638520bed0d6c3f77eb9c80e0f73983 (diff)
downloademacs-af05bef2d1985fb9bd8485f3084f3bfe282a911f.tar.gz
emacs-af05bef2d1985fb9bd8485f3084f3bfe282a911f.zip
merge trunk
-rw-r--r--ChangeLog6
-rw-r--r--admin/ChangeLog4
-rw-r--r--admin/FOR-RELEASE1
-rw-r--r--admin/notes/bzr34
-rwxr-xr-xadmin/update_autogen5
-rw-r--r--doc/emacs/ChangeLog45
-rw-r--r--doc/emacs/building.texi16
-rw-r--r--doc/emacs/dired.texi15
-rw-r--r--doc/emacs/emacs.texi6
-rw-r--r--doc/emacs/files.texi26
-rw-r--r--doc/emacs/misc.texi12
-rw-r--r--doc/emacs/trouble.texi5
-rw-r--r--doc/lispref/ChangeLog19
-rw-r--r--doc/lispref/Makefile.in1
-rw-r--r--doc/lispref/advice.texi749
-rw-r--r--doc/lispref/elisp.texi15
-rw-r--r--doc/lispref/functions.texi274
-rw-r--r--doc/lispref/makefile.w32-in1
-rw-r--r--doc/lispref/modes.texi51
-rw-r--r--doc/lispref/strings.texi7
-rw-r--r--doc/lispref/text.texi8
-rw-r--r--doc/man/ChangeLog4
-rw-r--r--doc/man/emacs.17
-rw-r--r--doc/misc/ChangeLog121
-rw-r--r--doc/misc/Makefile.in14
-rw-r--r--doc/misc/autotype.texi2
-rw-r--r--doc/misc/calc.texi4
-rw-r--r--doc/misc/cl.texi9
-rw-r--r--doc/misc/eww.texi254
-rw-r--r--doc/misc/gnus.texi4
-rw-r--r--doc/misc/idlwave.texi2
-rw-r--r--doc/misc/texinfo.tex74
-rw-r--r--etc/ChangeLog32
-rw-r--r--etc/FTP11
-rw-r--r--etc/MAILINGLISTS90
-rw-r--r--etc/MORE.STUFF207
-rw-r--r--etc/NEWS21
-rw-r--r--etc/ORDERS16
-rw-r--r--etc/ORG-NEWS2
-rw-r--r--etc/PROBLEMS47
-rw-r--r--etc/SERVICE4
-rw-r--r--etc/echo.msg3
-rw-r--r--leim/ChangeLog10
-rw-r--r--lisp/ChangeLog79
-rw-r--r--lisp/ChangeLog.10143
-rw-r--r--lisp/ChangeLog.1154
-rw-r--r--lisp/ChangeLog.12103
-rw-r--r--lisp/ChangeLog.132
-rw-r--r--lisp/ChangeLog.1412
-rw-r--r--lisp/ChangeLog.1512
-rw-r--r--lisp/ChangeLog.1634
-rw-r--r--lisp/ChangeLog.32
-rw-r--r--lisp/ChangeLog.9298
-rw-r--r--lisp/cedet/ChangeLog11
-rw-r--r--lisp/cedet/semantic/bovine/c.el4
-rw-r--r--lisp/cedet/srecode/map.el4
-rw-r--r--lisp/emacs-lisp/authors.el34
-rw-r--r--lisp/emacs-lisp/eieio-custom.el4
-rw-r--r--lisp/emacs-lisp/eieio-opt.el6
-rw-r--r--lisp/emacs-lisp/eieio.el39
-rw-r--r--lisp/follow.el2
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/ChangeLog.29
-rw-r--r--lisp/gnus/message.el9
-rw-r--r--lisp/help.el5
-rw-r--r--lisp/info.el8
-rw-r--r--lisp/mail/uce.el2
-rw-r--r--lisp/mail/unrmail.el4
-rw-r--r--lisp/org/ChangeLog26
-rw-r--r--lisp/progmodes/octave.el3
-rw-r--r--lisp/progmodes/ruby-mode.el4
-rw-r--r--lisp/progmodes/verilog-mode.el4
-rw-r--r--lisp/term/README2
-rw-r--r--lisp/textmodes/tex-mode.el2
-rw-r--r--lisp/url/ChangeLog2
-rw-r--r--lisp/vc/vc-git.el2
-rw-r--r--lisp/version.el3
-rw-r--r--lisp/woman.el4
-rw-r--r--m4/00gnulib.m420
-rw-r--r--m4/gnulib-common.m46
-rw-r--r--msdos/inttypes.h2
-rw-r--r--nt/ChangeLog2
-rw-r--r--nt/inc/inttypes.h2
-rw-r--r--src/ChangeLog56
-rw-r--r--src/ChangeLog.122
-rw-r--r--src/ChangeLog.34
-rw-r--r--src/dispnew.c9
-rw-r--r--src/font.c2
-rw-r--r--src/frame.c13
-rw-r--r--src/w32fns.c17
-rw-r--r--src/window.c3
-rw-r--r--src/xdisp.c21
-rw-r--r--src/xfns.c7
-rw-r--r--src/xterm.c76
-rw-r--r--src/xterm.h4
-rw-r--r--test/ChangeLog21
-rw-r--r--test/indent/pascal.pas2
97 files changed, 1619 insertions, 1825 deletions
diff --git a/ChangeLog b/ChangeLog
index 021f0e05473..6cf2f87391f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
12014-01-11 Paul Eggert <eggert@cs.ucla.edu>
2
3 Merge from gnulib, incorporating:
4 2014-01-07 update from texinfo
5 2014-01-06 md5, sha1, sha256, sha512: support older autoconf
6
12014-01-09 Eric S. Raymond <esr@thyrsus.com> 72014-01-09 Eric S. Raymond <esr@thyrsus.com>
2 8
3 * INSTALL, configure.ac, etc/CONTRIBUTE, nt/INSTALL: Remove 9 * INSTALL, configure.ac, etc/CONTRIBUTE, nt/INSTALL: Remove
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 690689012b0..dc9d4934f04 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,7 @@
12014-01-10 Glenn Morris <rgm@gnu.org>
2
3 * update_autogen: Fix sed bug that was losing the last AUTOGEN_VCS.
4
12014-01-04 Glenn Morris <rgm@gnu.org> 52014-01-04 Glenn Morris <rgm@gnu.org>
2 6
3 * admin.el (manual-html-fix-node-div): Handle Texinfo 5's movable <hr>. 7 * admin.el (manual-html-fix-node-div): Handle Texinfo 5's movable <hr>.
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 8470e7151c9..8b6bddbbd2f 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -218,7 +218,6 @@ xresources.texi cyd
218** Check the Lisp manual. 218** Check the Lisp manual.
219 219
220abbrevs.texi rgm 220abbrevs.texi rgm
221advice.texi cyd
222anti.texi rgm 221anti.texi rgm
223back.texi rgm 222back.texi rgm
224backups.texi cyd 223backups.texi cyd
diff --git a/admin/notes/bzr b/admin/notes/bzr
index d3886abfd69..a3a125cd675 100644
--- a/admin/notes/bzr
+++ b/admin/notes/bzr
@@ -364,3 +364,37 @@ works), or by adding an entry to ~/.bazaar/locations.conf:
364 364
365You have to use locations.conf rather than bazaar.conf because the 365You have to use locations.conf rather than bazaar.conf because the
366latter has a lower priority than branch.conf. 366latter has a lower priority than branch.conf.
367
368* Using git-bzr
369
370** initially
371
372You can use Git locally to talk to the Bazaar repo as a "remote" repo
373via git-bzr (aka git-remote-bzr). Initial clone:
374
375 git clone bzr::bzr+ssh://USER@bzr.sv.gnu.org/emacs/trunk e
376
377This creates the working dir e/ (with subdir .git, etc). Disk usage
378is 13G (as of early 2014), so you will probably want to repack:
379
380 git repack -a -d -f --window=250 --depth=250 --window-memory=N
381
382where N is chosen to avoid swapping. E.g., given 512MB RAM, N="200m"
383results in "du -sh .git" => 559M, about double the smallest reported
384value (obtained with "deprecated" command "git gc --aggressive").
385
386** steady-state
387
388Use "fetch", "pull" and other remote-to-local commands as usual.
389
390For "push", the Emacs Bazaar repo is configured with
391
392 append_revisions_only = True
393
394so some versions of git-remote-bzr may raise AppendRevisionsOnlyViolation
395(in func do_export) instead of displaying a "non fast-forward" message
396and skipping the branch. See:
397
398 http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg00436.html
399
400which includes a provisional patch to git-remote-bzr to do that.
diff --git a/admin/update_autogen b/admin/update_autogen
index 171674fb784..02b15c3aaa1 100755
--- a/admin/update_autogen
+++ b/admin/update_autogen
@@ -317,8 +317,9 @@ EOF
317 317
318echo "Finding loaddef targets..." 318echo "Finding loaddef targets..."
319 319
320sed -n -e '/^AUTOGEN_VCS/,/^$/ s/\\//p' lisp/Makefile.in | \ 320sed -n -e '/^AUTOGEN_VCS/,/^$/p' lisp/Makefile.in | \
321 sed '/AUTOGEN_VCS/d' >| $tempfile || die "sed error" 321 sed -e '/AUTOGEN_VCS/d' -e '/^$/d' -e 's/\\//' \
322 >| $tempfile || die "sed error"
322 323
323genfiles= 324genfiles=
324 325
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 8db5ab808ce..cc5518b4fce 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,32 @@
12014-01-10 Glenn Morris <rgm@gnu.org>
2
3 * emacs.texi (Distrib): Add donate URL. Add anchor.
4
52014-01-10 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
6
7 * dired.texi (Misc Dired Features): Document `dired-hide-details-mode',
8 `dired-hide-details-hide-symlink-targets', and
9 `dired-hide-details-hide-information-lines'.
10
112014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
12
13 * emacs.texi: Add EWW.
14 * misc.texi (EWW): Document EWW.
15
162014-01-09 Glenn Morris <rgm@gnu.org>
17
18 * trouble.texi (Service): Refer to online service directory
19 rather than etc/SERVICE.
20
212014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
22
23 * building.texi (Lisp Libraries): Document `load-prefer-newer'.
24
25 * files.texi (File Conveniences): Document `image-next-frame',
26 `image-previous-frame', `image-goto-frame',
27 `image-increase-speed', `image-decrease-speed',
28 `image-reverse-speed', and `image-reset-speed'.
29
12014-01-07 Bastien Guerry <bzg@gnu.org> 302014-01-07 Bastien Guerry <bzg@gnu.org>
2 31
3 * buffers.texi (Buffers): Fix display of @math content by using 32 * buffers.texi (Buffers): Fix display of @math content by using
@@ -5088,10 +5117,6 @@
5088 5117
5089 * maintaining.texi (Tags): Fix last change. 5118 * maintaining.texi (Tags): Fix last change.
5090 5119
50912008-02-02 Michael Albinus <michael.albinus@gmx.de>
5092
5093 * tramp.texi: Use new FSF's Back-Cover Text.
5094
50952008-01-31 Nick Roberts <nickrob@snap.net.nz> 51202008-01-31 Nick Roberts <nickrob@snap.net.nz>
5096 5121
5097 * trouble.texi (Checklist): Direct users to emacs-devel@gnu.org. 5122 * trouble.texi (Checklist): Direct users to emacs-devel@gnu.org.
@@ -5134,8 +5159,6 @@
5134 * search.texi (Query Replace): Make exp of query-replace more 5159 * search.texi (Query Replace): Make exp of query-replace more
5135 self-contained, and clarify. 5160 self-contained, and clarify.
5136 5161
5137 * cc-mode.texi (Getting Started): Change @ref to @pxref.
5138
51392007-12-15 Richard Stallman <rms@gnu.org> 51622007-12-15 Richard Stallman <rms@gnu.org>
5140 5163
5141 * files.texi (Auto Save): Clarify definition of auto-saving. 5164 * files.texi (Auto Save): Clarify definition of auto-saving.
@@ -5687,6 +5710,11 @@
5687 * frames.texi (Secondary Selection): Window clicked does not matter 5710 * frames.texi (Secondary Selection): Window clicked does not matter
5688 when mouse-yank-at-point is non-nil. 5711 when mouse-yank-at-point is non-nil.
5689 5712
57132007-01-27 Eli Zaretskii <eliz@gnu.org>
5714
5715 * msdog.texi (ls in Lisp): Document ls-lisp-format-time-list and
5716 ls-lisp-use-localized-time-format.
5717
56902007-01-16 Glenn Morris <rgm@gnu.org> 57182007-01-16 Glenn Morris <rgm@gnu.org>
5691 5719
5692 * abbrevs.texi (Editing Abbrevs): Describe how to disable a 5720 * abbrevs.texi (Editing Abbrevs): Describe how to disable a
@@ -6014,6 +6042,11 @@
6014 Change "Library Public License" to "Lesser Public License" 6042 Change "Library Public License" to "Lesser Public License"
6015 throughout. Use "yyyy" to represent year. 6043 throughout. Use "yyyy" to represent year.
6016 6044
60452006-09-12 Paul Eggert <eggert@cs.ucla.edu>
6046
6047 * misc.texi (Interactive Shell): EMACS is now set
6048 to Emacs's absolute file name, not to "t".
6049
60172006-09-12 Reiner Steib <Reiner.Steib@gmx.de> 60502006-09-12 Reiner Steib <Reiner.Steib@gmx.de>
6018 6051
6019 * files.texi (Visiting): Add index entry "open file". 6052 * files.texi (Visiting): Add index entry "open file".
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index fdb38bfd4d1..392c298fa70 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -1348,6 +1348,7 @@ not from an existing Emacs buffer.
1348 1348
1349@findex load 1349@findex load
1350@findex load-library 1350@findex load-library
1351@vindex load-prefer-newer
1351@cindex load path for Emacs Lisp 1352@cindex load path for Emacs Lisp
1352 If an Emacs Lisp file is installed in the Emacs Lisp @dfn{load path} 1353 If an Emacs Lisp file is installed in the Emacs Lisp @dfn{load path}
1353(defined below), you can load it by typing @kbd{M-x load-library}, 1354(defined below), you can load it by typing @kbd{M-x load-library},
@@ -1356,15 +1357,18 @@ command prompts for a @dfn{library name} rather than a file name; it
1356searches through each directory in the Emacs Lisp load path, trying to 1357searches through each directory in the Emacs Lisp load path, trying to
1357find a file matching that library name. If the library name is 1358find a file matching that library name. If the library name is
1358@samp{@var{foo}}, it tries looking for files named 1359@samp{@var{foo}}, it tries looking for files named
1359@file{@var{foo}.elc}, @file{@var{foo}.el}, and lastly just 1360@file{@var{foo}.elc}, @file{@var{foo}.el}, and @file{@var{foo}}. The
1360@file{@var{foo}}; the first one found is loaded. This command prefers 1361default behaviour is to load the first file found. This command
1361@file{.elc} files over @file{.el} files because compiled files load 1362prefers @file{.elc} files over @file{.el} files because compiled files
1362and run faster. If it finds that @file{@var{lib}.el} is newer than 1363load and run faster. If it finds that @file{@var{lib}.el} is newer
1363@file{@var{lib}.elc}, it issues a warning, in case someone made 1364than @file{@var{lib}.elc}, it issues a warning, in case someone made
1364changes to the @file{.el} file and forgot to recompile it, but loads 1365changes to the @file{.el} file and forgot to recompile it, but loads
1365the @file{.elc} file anyway. (Due to this behavior, you can save 1366the @file{.elc} file anyway. (Due to this behavior, you can save
1366unfinished edits to Emacs Lisp source files, and not recompile until 1367unfinished edits to Emacs Lisp source files, and not recompile until
1367your changes are ready for use.) 1368your changes are ready for use.) If you set the option
1369@code{load-prefer-newer} to a non-@code{nil} value, however, then
1370rather than the procedure described above, Emacs loads whichever
1371version of the file is newest.
1368 1372
1369 Emacs Lisp programs usually load Emacs Lisp files using the 1373 Emacs Lisp programs usually load Emacs Lisp files using the
1370@code{load} function. This is similar to @code{load-library}, but is 1374@code{load} function. This is similar to @code{load-library}, but is
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi
index b9ae5ed0879..b7de1bdf3aa 100644
--- a/doc/emacs/dired.texi
+++ b/doc/emacs/dired.texi
@@ -1440,3 +1440,18 @@ it onto a Dired buffer; this either moves, copies, or creates a link
1440to the file in that directory. Precisely which action is taken is 1440to the file in that directory. Precisely which action is taken is
1441determined by the originating program. Dragging files out of a Dired 1441determined by the originating program. Dragging files out of a Dired
1442buffer is currently not supported. 1442buffer is currently not supported.
1443
1444@kindex ( @r{(Dired)}
1445@c )
1446@findex dired-hide-details-mode
1447@vindex dired-hide-details-hide-symlink-targets
1448@vindex dired-hide-details-hide-information-lines
1449@cindex Hide details in Dired.
1450 The command @kbd{(} (@code{dired-hide-details-mode}) toggles whether
1451details, such as ownership or file permissions, are hidden. If the
1452variable @code{dired-hide-details-hide-symlink-targets} is
1453non-@code{nil} then targets of symbolic links are hidden as well. A
1454non-@code{nil} value for the variable
1455@code{dired-hide-details-hide-information-lines} means that all lines
1456other than the header and lines containing files and directories are
1457hidden.
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 691c8bd8ff5..ca5520198f8 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -190,6 +190,7 @@ Advanced Features
190* Rmail:: Reading mail in Emacs. 190* Rmail:: Reading mail in Emacs.
191* Gnus:: A flexible mail and news reader. 191* Gnus:: A flexible mail and news reader.
192* Document View:: Viewing PDF, PS and DVI files. 192* Document View:: Viewing PDF, PS and DVI files.
193* EWW:: A web browser in Emacs.
193* Shell:: Executing shell commands from Emacs. 194* Shell:: Executing shell commands from Emacs.
194* Emacs Server:: Using Emacs as an editing server. 195* Emacs Server:: Using Emacs as an editing server.
195* Printing:: Printing hardcopies of buffers or regions. 196* Printing:: Printing hardcopies of buffers or regions.
@@ -1338,9 +1339,12 @@ If you find GNU Emacs useful, please @strong{send a donation} to the
1338Free Software Foundation to support our work. Donations to the Free 1339Free Software Foundation to support our work. Donations to the Free
1339Software Foundation are tax deductible in the US@. If you use GNU Emacs 1340Software Foundation are tax deductible in the US@. If you use GNU Emacs
1340at your workplace, please suggest that the company make a donation. 1341at your workplace, please suggest that the company make a donation.
1341For more information on how you can help, see 1342To donate, see @url{https://my.fsf.org/donate/}.
1343For other ways in which you can help, see
1342@url{http://www.gnu.org/help/help.html}. 1344@url{http://www.gnu.org/help/help.html}.
1343 1345
1346@c The command view-order-manuals uses this anchor.
1347@anchor{Printed Books}
1344We also sell hardcopy versions of this manual and @cite{An 1348We also sell hardcopy versions of this manual and @cite{An
1345Introduction to Programming in Emacs Lisp}, by Robert J. Chassell. 1349Introduction to Programming in Emacs Lisp}, by Robert J. Chassell.
1346You can visit our online store at @url{http://shop.fsf.org/}. 1350You can visit our online store at @url{http://shop.fsf.org/}.
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 78a820b4efc..449ad9f2aa1 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -1944,12 +1944,9 @@ point. Partial Completion mode offers other features extending
1944 1944
1945@findex image-mode 1945@findex image-mode
1946@findex image-toggle-display 1946@findex image-toggle-display
1947@findex image-toggle-animation
1948@findex image-next-file 1947@findex image-next-file
1949@findex image-previous-file 1948@findex image-previous-file
1950@cindex images, viewing 1949@cindex images, viewing
1951@cindex image animation
1952@cindex animated images
1953 Visiting image files automatically selects Image mode. In this 1950 Visiting image files automatically selects Image mode. In this
1954major mode, you can type @kbd{C-c C-c} (@code{image-toggle-display}) 1951major mode, you can type @kbd{C-c C-c} (@code{image-toggle-display})
1955to toggle between displaying the file as an image in the Emacs buffer, 1952to toggle between displaying the file as an image in the Emacs buffer,
@@ -1962,10 +1959,29 @@ displayed. You can press @kbd{n} (@code{image-next-file}) and @kbd{p}
1962(@code{image-previous-file}) to visit the next image file and the 1959(@code{image-previous-file}) to visit the next image file and the
1963previous image file in the same directory, respectively. 1960previous image file in the same directory, respectively.
1964 1961
1965If the image can be animated, the command @kbd{RET} 1962@findex image-toggle-animation
1963@findex image-next-frame
1964@findex image-previous-frame
1965@findex image-goto-frame
1966@findex image-increase-speed
1967@findex image-decrease-speed
1968@findex image-reset-speed
1969@findex image-reverse-speed
1970@vindex image-animate-loop
1971@cindex image animation
1972@cindex animated images
1973 If the image can be animated, the command @kbd{RET}
1966(@code{image-toggle-animation}) starts or stops the animation. 1974(@code{image-toggle-animation}) starts or stops the animation.
1967Animation plays once, unless the option @code{image-animate-loop} is 1975Animation plays once, unless the option @code{image-animate-loop} is
1968non-@code{nil}. 1976non-@code{nil}. With @kbd{f} (@code{image-next-frame}) and @kbd{b}
1977(@code{image-previous-frame}) you can step through the individual
1978frames. Both commands accept a numeric prefix to step through several
1979frames at once. You can go to a specific frame with @kbd{F}
1980(@code{image-goto-frame}). The speed of the animation can be
1981increased by pressing @kbd{a +} (@code{image-increase-speed}) and
1982decreased by pressing @kbd{a -} (@code{image-decrease-speed}). With
1983@kbd{a r} (@code{image-reverse-speed}) the speed is reversed. You can
1984reset the speed with @kbd{a 0} (@code{image-reset-speed}).
1969 1985
1970@cindex ImageMagick support 1986@cindex ImageMagick support
1971@vindex imagemagick-enabled-types 1987@vindex imagemagick-enabled-types
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 8cdeab98677..aed854e1a3f 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -439,6 +439,18 @@ associated with the current buffer, type @kbd{K}
439(@code{doc-view-kill-proc-and-buffer}) kills the converter process and 439(@code{doc-view-kill-proc-and-buffer}) kills the converter process and
440the DocView buffer. 440the DocView buffer.
441 441
442@node EWW
443@section Web Browsing with EWW
444
445@findex eww
446@findex eww-open-file
447 @dfn{EWW}, the Emacs Web Wowser, is a web browser package for Emacs.
448It allows browsing URLs within an Emacs buffer. The command @kbd{M-x
449eww} can be used to open a URL or search the web. A file can be
450opened using the command @kbd{M-x eww-open-file}. EWW can be used as
451web browser for @code{browse-url}, see @ref{Browse-URL}. For full
452details, see @ref{Top, EWW,, eww, The Emacs Web Wowser Manual}.
453
442@node Shell 454@node Shell
443@section Running Shell Commands from Emacs 455@section Running Shell Commands from Emacs
444@cindex subshell 456@cindex subshell
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index 137f2738b5b..eeb810fccb7 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -1198,9 +1198,8 @@ mailing list and newsgroup interconnect, so it does not matter which
1198one you use.) 1198one you use.)
1199 1199
1200@item 1200@item
1201Look in the service directory for someone who might help you for a fee. 1201Look in the @uref{http://www.fsf.org/resources/service/, service
1202The service directory is found in the file named @file{etc/SERVICE} in the 1202directory} for someone who might help you for a fee.
1203Emacs distribution.
1204@end itemize 1203@end itemize
1205 1204
1206@ifnottex 1205@ifnottex
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index f6343606b94..4044e965ae7 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,20 @@
12014-01-10 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * functions.texi (Advising Functions): New section.
4 * modes.texi (Running Hooks): Don't document with-wrapper-hook and
5 run-hook-wrapped any more.
6 (Hooks): Link to the new Advising Functions node.
7 * elisp.texi (Top): Don't include advice.texi.
8 * advice.texi: Remove.
9 * makefile.w32-in (srcs):
10 * Makefile.in (srcs): Adjust accordingly.
11
122014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
13
14 * text.texi (Parsing HTML/XML): Document `shr-insert-document'.
15
16 * strings.texi (Text Comparison): Document `string-suffix-p'.
17
12014-01-07 Glenn Morris <rgm@gnu.org> 182014-01-07 Glenn Morris <rgm@gnu.org>
2 19
3 * files.texi (File Attributes): Fix superscipt typo. 20 * files.texi (File Attributes): Fix superscipt typo.
@@ -9378,7 +9395,7 @@
9378 9395
9379 * variables.texi (Variable Aliases): Simplify. 9396 * variables.texi (Variable Aliases): Simplify.
9380 9397
9381 * anti.texi, backups.texi, compile.texi, customization.texi: 9398 * anti.texi, backups.texi, compile.texi, customize.texi:
9382 * debugging.texi, display.texi, edebug.texi, errors.texi, frames.texi: 9399 * debugging.texi, display.texi, edebug.texi, errors.texi, frames.texi:
9383 * functions.texi, help.texi, keymaps.texi, modes.texi, nonascii.texi: 9400 * functions.texi, help.texi, keymaps.texi, modes.texi, nonascii.texi:
9384 * os.texi, processes.texi, searching.texi, strings.texi, text.texi: 9401 * os.texi, processes.texi, searching.texi, strings.texi, text.texi:
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in
index 6f3320d029c..bb8d4f82884 100644
--- a/doc/lispref/Makefile.in
+++ b/doc/lispref/Makefile.in
@@ -76,7 +76,6 @@ srcs = \
76 $(srcdir)/elisp.texi \ 76 $(srcdir)/elisp.texi \
77 $(emacsdir)/emacsver.texi \ 77 $(emacsdir)/emacsver.texi \
78 $(srcdir)/abbrevs.texi \ 78 $(srcdir)/abbrevs.texi \
79 $(srcdir)/advice.texi \
80 $(srcdir)/anti.texi \ 79 $(srcdir)/anti.texi \
81 $(srcdir)/backups.texi \ 80 $(srcdir)/backups.texi \
82 $(srcdir)/buffers.texi \ 81 $(srcdir)/buffers.texi \
diff --git a/doc/lispref/advice.texi b/doc/lispref/advice.texi
deleted file mode 100644
index c55f93d445f..00000000000
--- a/doc/lispref/advice.texi
+++ /dev/null
@@ -1,749 +0,0 @@
1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1998-1999, 2001-2014 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions.
5@node Advising Functions
6@chapter Advising Emacs Lisp Functions
7@cindex advising functions
8
9@cindex piece of advice
10 The @dfn{advice} feature lets you add to the existing definition of
11a function, by @dfn{advising the function}. A function can have
12multiple @dfn{pieces of advice}, each of which can be separately
13defined, and separately enabled or disabled (@pxref{Activation of
14Advice}). Each piece of advice can alter almost anything about the
15function, including its argument list, what the function does when it
16runs, and the value it returns.
17
18 Advice can be useful for altering the behavior of an existing
19function without having to redefine the whole function. However, it
20can be a source of bugs, since existing callers to the function may
21assume the old behavior, and work incorrectly when the behavior is
22changed by advice. Advice can also cause confusion in debugging, if
23the person doing the debugging does not notice or remember that the
24function has been modified by advice.
25
26 For these reasons, advice should be reserved for the cases where you
27cannot modify a function's behavior in any other way. If it is
28possible to do the same thing via a hook, that is preferable
29(@pxref{Hooks}). If you simply want to change what a particular key
30does, it may be better to write a new command, and remap the old
31command's key bindings to the new one (@pxref{Remapping Commands}).
32In particular, Emacs's own source files should not put advice on
33functions in Emacs. (There are currently a few exceptions to this
34convention, but we aim to correct them.)
35
36 Macros can also be advised, in much the same way as functions.
37However, special forms (@pxref{Special Forms}) cannot be advised.
38
39 It is possible to advise a primitive (@pxref{What Is a Function}),
40but one should typically @emph{not} do so, for two reasons. Firstly,
41some primitives are used by the advice mechanism, and advising them
42could cause an infinite recursion. Secondly, many primitives are
43called directly from C, and such calls ignore advice; hence, one ends
44up in a confusing situation where some calls (occurring from Lisp
45code) obey the advice and other calls (from C code) do not.
46
47@menu
48* Simple Advice:: A simple example to explain the basics of advice.
49* Defining Advice:: Detailed description of @code{defadvice}.
50* Around-Advice:: Wrapping advice around a function's definition.
51* Computed Advice:: ...is to @code{defadvice} as @code{fset} is to @code{defun}.
52* Activation of Advice:: Advice doesn't do anything until you activate it.
53* Enabling Advice:: You can enable or disable each piece of advice.
54* Preactivation:: Preactivation is a way of speeding up the
55 loading of compiled advice.
56* Argument Access in Advice:: How advice can access the function's arguments.
57* Combined Definition:: How advice is implemented.
58@end menu
59
60@node Simple Advice
61@section A Simple Advice Example
62
63 The command @code{next-line} moves point down vertically one or more
64lines; it is the standard binding of @kbd{C-n}. When used on the last
65line of the buffer, this command inserts a newline to create a line to
66move to if @code{next-line-add-newlines} is non-@code{nil} (its default
67is @code{nil}.)
68
69 Suppose you wanted to add a similar feature to @code{previous-line},
70which would insert a new line at the beginning of the buffer for the
71command to move to (when @code{next-line-add-newlines} is
72non-@code{nil}). How could you do this?
73
74 You could do it by redefining the whole function, but that is not
75modular. The advice feature provides a cleaner alternative: you can
76effectively add your code to the existing function definition, without
77actually changing or even seeing that definition. Here is how to do
78this:
79
80@example
81(defadvice previous-line (before next-line-at-end
82 (&optional arg try-vscroll))
83 "Insert an empty line when moving up from the top line."
84 (if (and next-line-add-newlines (= arg 1)
85 (save-excursion (beginning-of-line) (bobp)))
86 (progn
87 (beginning-of-line)
88 (newline))))
89@end example
90
91 This expression defines a @dfn{piece of advice} for the function
92@code{previous-line}. This piece of advice is named
93@code{next-line-at-end}, and the symbol @code{before} says that it is
94@dfn{before-advice} which should run before the regular definition of
95@code{previous-line}. @code{(&optional arg try-vscroll)} specifies
96how the advice code can refer to the function's arguments.
97
98 When this piece of advice runs, it creates an additional line, in the
99situation where that is appropriate, but does not move point to that
100line. This is the correct way to write the advice, because the normal
101definition will run afterward and will move back to the newly inserted
102line.
103
104 Defining the advice doesn't immediately change the function
105@code{previous-line}. That happens when you @dfn{activate} the advice,
106like this:
107
108@example
109(ad-activate 'previous-line)
110@end example
111
112@noindent
113This is what actually begins to use the advice that has been defined so
114far for the function @code{previous-line}. Henceforth, whenever that
115function is run, whether invoked by the user with @kbd{C-p} or
116@kbd{M-x}, or called from Lisp, it runs the advice first, and its
117regular definition second.
118
119 This example illustrates before-advice, which is one @dfn{class} of
120advice: it runs before the function's base definition. There are two
121other advice classes: @dfn{after-advice}, which runs after the base
122definition, and @dfn{around-advice}, which lets you specify an
123expression to wrap around the invocation of the base definition.
124
125@node Defining Advice
126@section Defining Advice
127@cindex defining advice
128@cindex advice, defining
129
130 To define a piece of advice, use the macro @code{defadvice}. A call
131to @code{defadvice} has the following syntax, which is based on the
132syntax of @code{defun} and @code{defmacro}, but adds more:
133
134@findex defadvice
135@example
136(defadvice @var{function} (@var{class} @var{name}
137 @r{[}@var{position}@r{]} @r{[}@var{arglist}@r{]}
138 @var{flags}...)
139 @r{[}@var{documentation-string}@r{]}
140 @r{[}@var{interactive-form}@r{]}
141 @var{body-forms}...)
142@end example
143
144@noindent
145Here, @var{function} is the name of the function (or macro) to be
146advised. From now on, we will write just ``function'' when describing
147the entity being advised, but this always includes macros.
148
149 In place of the argument list in an ordinary definition, an advice
150definition calls for several different pieces of information.
151
152@cindex class of advice
153@cindex before-advice
154@cindex after-advice
155@cindex around-advice
156@var{class} specifies the @dfn{class} of the advice---one of @code{before},
157@code{after}, or @code{around}. Before-advice runs before the function
158itself; after-advice runs after the function itself; around-advice is
159wrapped around the execution of the function itself. After-advice and
160around-advice can override the return value by setting
161@code{ad-return-value}.
162
163@defvar ad-return-value
164While advice is executing, after the function's original definition has
165been executed, this variable holds its return value, which will
166ultimately be returned to the caller after finishing all the advice.
167After-advice and around-advice can arrange to return some other value
168by storing it in this variable.
169@end defvar
170
171The argument @var{name} is the name of the advice, a non-@code{nil}
172symbol. The advice name uniquely identifies one piece of advice, within all
173the pieces of advice in a particular class for a particular
174@var{function}. The name allows you to refer to the piece of
175advice---to redefine it, or to enable or disable it.
176
177The optional @var{position} specifies where, in the current list of
178advice of the specified @var{class}, this new advice should be placed.
179It should be either @code{first}, @code{last} or a number that specifies
180a zero-based position (@code{first} is equivalent to 0). If no position
181is specified, the default is @code{first}. Position values outside the
182range of existing positions in this class are mapped to the beginning or
183the end of the range, whichever is closer. The @var{position} value is
184ignored when redefining an existing piece of advice.
185
186The optional @var{arglist} can be used to define the argument list for
187the sake of advice. This becomes the argument list of the combined
188definition that is generated in order to run the advice (@pxref{Combined
189Definition}). Therefore, the advice expressions can use the argument
190variables in this list to access argument values.
191
192The argument list used in advice need not be the same as the argument
193list used in the original function, but must be compatible with it, so
194that it can handle the ways the function is actually called. If two
195pieces of advice for a function both specify an argument list, they must
196specify the same argument list.
197
198@xref{Argument Access in Advice}, for more information about argument
199lists and advice, and a more flexible way for advice to access the
200arguments.
201
202The remaining elements, @var{flags}, are symbols that specify further
203information about how to use this piece of advice. Here are the valid
204symbols and their meanings:
205
206@table @code
207@item activate
208Activate the advice for @var{function} now. Changes in a function's
209advice always take effect the next time you activate advice for the
210function; this flag says to do so, for @var{function}, immediately after
211defining this piece of advice.
212
213@cindex forward advice
214This flag has no immediate effect if @var{function} itself is not defined yet (a
215situation known as @dfn{forward advice}), because it is impossible to
216activate an undefined function's advice. However, defining
217@var{function} will automatically activate its advice.
218
219@item protect
220Protect this piece of advice against non-local exits and errors in
221preceding code and advice. Protecting advice places it as a cleanup in
222an @code{unwind-protect} form, so that it will execute even if the
223previous code gets an error or uses @code{throw}. @xref{Cleanups}.
224
225@item compile
226Compile the combined definition that is used to run the advice. This
227flag is ignored unless @code{activate} is also specified.
228@xref{Combined Definition}.
229
230@item disable
231Initially disable this piece of advice, so that it will not be used
232unless subsequently explicitly enabled. @xref{Enabling Advice}.
233
234@item preactivate
235Activate advice for @var{function} when this @code{defadvice} is
236compiled or macroexpanded. This generates a compiled advised definition
237according to the current advice state, which will be used during
238activation if appropriate. @xref{Preactivation}.
239
240This is useful only if this @code{defadvice} is byte-compiled.
241@end table
242
243The optional @var{documentation-string} serves to document this piece of
244advice. When advice is active for @var{function}, the documentation for
245@var{function} (as returned by @code{documentation}) combines the
246documentation strings of all the advice for @var{function} with the
247documentation string of its original function definition.
248
249The optional @var{interactive-form} form can be supplied to change the
250interactive behavior of the original function. If more than one piece
251of advice has an @var{interactive-form}, then the first one (the one
252with the smallest position) found among all the advice takes precedence.
253
254The possibly empty list of @var{body-forms} specifies the body of the
255advice. The body of an advice can access or change the arguments, the
256return value, the binding environment, and perform any other kind of
257side effect.
258
259@strong{Warning:} When you advise a macro, keep in mind that macros are
260expanded when a program is compiled, not when a compiled program is run.
261All subroutines used by the advice need to be available when the byte
262compiler expands the macro.
263
264@deffn Command ad-unadvise function
265This command deletes all pieces of advice from @var{function}.
266@end deffn
267
268@deffn Command ad-unadvise-all
269This command deletes all pieces of advice from all functions.
270@end deffn
271
272@node Around-Advice
273@section Around-Advice
274
275 Around-advice lets you ``wrap'' a Lisp expression ``around'' the
276original function definition. You specify where the original function
277definition should go by means of the special symbol @code{ad-do-it}.
278Where this symbol occurs inside the around-advice body, it is replaced
279with a @code{progn} containing the forms of the surrounded code. Here
280is an example:
281
282@example
283(defadvice foo (around foo-around)
284 "Ignore case in `foo'."
285 (let ((case-fold-search t))
286 ad-do-it))
287@end example
288
289@noindent
290Its effect is to make sure that case is ignored in
291searches when the original definition of @code{foo} is run.
292
293@defvar ad-do-it
294This is not really a variable, rather a place-holder that looks like a
295variable. You use it in around-advice to specify the place to run the
296function's original definition and other ``earlier'' around-advice.
297@end defvar
298
299If the around-advice does not use @code{ad-do-it}, then it does not run
300the original function definition. This provides a way to override the
301original definition completely. (It also overrides lower-positioned
302pieces of around-advice).
303
304If the around-advice uses @code{ad-do-it} more than once, the original
305definition is run at each place. In this way, around-advice can execute
306the original definition (and lower-positioned pieces of around-advice)
307several times. Another way to do that is by using @code{ad-do-it}
308inside of a loop.
309
310@node Computed Advice
311@section Computed Advice
312
313The macro @code{defadvice} resembles @code{defun} in that the code for
314the advice, and all other information about it, are explicitly stated in
315the source code. You can also create advice whose details are computed,
316using the function @code{ad-add-advice}.
317
318@defun ad-add-advice function advice class position
319Calling @code{ad-add-advice} adds @var{advice} as a piece of advice to
320@var{function} in class @var{class}. The argument @var{advice} has
321this form:
322
323@example
324(@var{name} @var{protected} @var{enabled} @var{definition})
325@end example
326
327@noindent
328Here, @var{protected} and @var{enabled} are flags; if @var{protected}
329is non-@code{nil}, the advice is protected against non-local exits
330(@pxref{Defining Advice}), and if @var{enabled} is @code{nil} the
331advice is initially disabled (@pxref{Enabling Advice}).
332@var{definition} should have the form
333
334@example
335(advice . @var{lambda})
336@end example
337
338@noindent
339where @var{lambda} is a lambda expression; this lambda expression is
340called in order to perform the advice. @xref{Lambda Expressions}.
341
342If the @var{function} argument to @code{ad-add-advice} already has one
343or more pieces of advice in the specified @var{class}, then
344@var{position} specifies where in the list to put the new piece of
345advice. The value of @var{position} can either be @code{first},
346@code{last}, or a number (counting from 0 at the beginning of the
347list). Numbers outside the range are mapped to the beginning or the
348end of the range, whichever is closer. The @var{position} value is
349ignored when redefining an existing piece of advice.
350
351If @var{function} already has a piece of @var{advice} with the same
352name, then the position argument is ignored and the old advice is
353replaced with the new one.
354@end defun
355
356@node Activation of Advice
357@section Activation of Advice
358@cindex activating advice
359@cindex advice, activating
360
361By default, advice does not take effect when you define it---only when
362you @dfn{activate} advice for the function. However, the advice will
363be activated automatically if you define or redefine the function
364later. You can request the activation of advice for a function when
365you define the advice, by specifying the @code{activate} flag in the
366@code{defadvice}; or you can activate the advice separately by calling
367the function @code{ad-activate} or one of the other activation
368commands listed below.
369
370Separating the activation of advice from the act of defining it permits
371you to add several pieces of advice to one function efficiently, without
372redefining the function over and over as each advice is added. More
373importantly, it permits defining advice for a function before that
374function is actually defined.
375
376When a function's advice is first activated, the function's original
377definition is saved, and all enabled pieces of advice for that function
378are combined with the original definition to make a new definition.
379(Pieces of advice that are currently disabled are not used; see
380@ref{Enabling Advice}.) This definition is installed, and optionally
381byte-compiled as well, depending on conditions described below.
382
383In all of the commands to activate advice, if @var{compile} is
384@code{t} (or anything but @code{nil} or a negative number), the
385command also compiles the combined definition which implements the
386advice. If it is @code{nil} or a negative number, what happens
387depends on @code{ad-default-compilation-action} as described below.
388
389@deffn Command ad-activate function &optional compile
390This command activates all the advice defined for @var{function}.
391@end deffn
392
393 Activating advice does nothing if @var{function}'s advice is already
394active. But if there is new advice, added since the previous time you
395activated advice for @var{function}, it activates the new advice.
396
397@deffn Command ad-deactivate function
398This command deactivates the advice for @var{function}.
399@cindex deactivating advice
400@c @cindex advice, deactivating "advice, activating" is just above
401@end deffn
402
403@deffn Command ad-update function &optional compile
404This command activates the advice for @var{function}
405if its advice is already activated. This is useful
406if you change the advice.
407@end deffn
408
409@deffn Command ad-activate-all &optional compile
410This command activates the advice for all functions.
411@end deffn
412
413@deffn Command ad-deactivate-all
414This command deactivates the advice for all functions.
415@end deffn
416
417@deffn Command ad-update-all &optional compile
418This command activates the advice for all functions
419whose advice is already activated. This is useful
420if you change the advice of some functions.
421@end deffn
422
423@deffn Command ad-activate-regexp regexp &optional compile
424This command activates all pieces of advice whose names match
425@var{regexp}. More precisely, it activates all advice for any function
426which has at least one piece of advice that matches @var{regexp}.
427@end deffn
428
429@deffn Command ad-deactivate-regexp regexp
430This command deactivates all pieces of advice whose names match
431@var{regexp}. More precisely, it deactivates all advice for any
432function which has at least one piece of advice that matches
433@var{regexp}.
434@end deffn
435
436@deffn Command ad-update-regexp regexp &optional compile
437This command activates pieces of advice whose names match @var{regexp},
438but only those for functions whose advice is already activated.
439@cindex reactivating advice
440
441Reactivating a function's advice is useful for putting into effect all
442the changes that have been made in its advice (including enabling and
443disabling specific pieces of advice; @pxref{Enabling Advice}) since the
444last time it was activated.
445@end deffn
446
447@deffn Command ad-start-advice
448Turn on automatic advice activation when a function is defined or
449redefined. This is the default mode.
450@end deffn
451
452@deffn Command ad-stop-advice
453Turn off automatic advice activation when a function is defined or
454redefined.
455@end deffn
456
457@defopt ad-default-compilation-action
458This variable controls whether to compile the combined definition
459that results from activating advice for a function.
460
461A value of @code{always} specifies to compile unconditionally.
462A value of @code{never} specifies never compile the advice.
463
464A value of @code{maybe} specifies to compile if the byte compiler is
465already loaded. A value of @code{like-original} specifies to compile
466the advice if the original definition of the advised function is
467compiled or a built-in function.
468
469This variable takes effect only if the @var{compile} argument of
470@code{ad-activate} (or any of the above functions) did not force
471compilation.
472@end defopt
473
474 If the advised definition was constructed during ``preactivation''
475(@pxref{Preactivation}), then that definition must already be compiled,
476because it was constructed during byte-compilation of the file that
477contained the @code{defadvice} with the @code{preactivate} flag.
478
479@node Enabling Advice
480@section Enabling and Disabling Advice
481@cindex enabling advice
482@cindex advice, enabling and disabling
483@cindex disabling advice
484
485 Each piece of advice has a flag that says whether it is enabled or
486not. By enabling or disabling a piece of advice, you can turn it on
487and off without having to undefine and redefine it. For example, here is
488how to disable a particular piece of advice named @code{my-advice} for
489the function @code{foo}:
490
491@example
492(ad-disable-advice 'foo 'before 'my-advice)
493@end example
494
495 This function by itself only changes the enable flag for a piece of
496advice. To make the change take effect in the advised definition, you
497must activate the advice for @code{foo} again:
498
499@example
500(ad-activate 'foo)
501@end example
502
503@deffn Command ad-disable-advice function class name
504This command disables the piece of advice named @var{name} in class
505@var{class} on @var{function}.
506@end deffn
507
508@deffn Command ad-enable-advice function class name
509This command enables the piece of advice named @var{name} in class
510@var{class} on @var{function}.
511@end deffn
512
513 You can also disable many pieces of advice at once, for various
514functions, using a regular expression. As always, the changes take real
515effect only when you next reactivate advice for the functions in
516question.
517
518@deffn Command ad-disable-regexp regexp
519This command disables all pieces of advice whose names match
520@var{regexp}, in all classes, on all functions.
521@end deffn
522
523@deffn Command ad-enable-regexp regexp
524This command enables all pieces of advice whose names match
525@var{regexp}, in all classes, on all functions.
526@end deffn
527
528@node Preactivation
529@section Preactivation
530@cindex preactivating advice
531@cindex advice, preactivating
532
533 Constructing a combined definition to execute advice is moderately
534expensive. When a library advises many functions, this can make loading
535the library slow. In that case, you can use @dfn{preactivation} to
536construct suitable combined definitions in advance.
537
538 To use preactivation, specify the @code{preactivate} flag when you
539define the advice with @code{defadvice}. This @code{defadvice} call
540creates a combined definition which embodies this piece of advice
541(whether enabled or not) plus any other currently enabled advice for the
542same function, and the function's own definition. If the
543@code{defadvice} is compiled, that compiles the combined definition
544also.
545
546 When the function's advice is subsequently activated, if the enabled
547advice for the function matches what was used to make this combined
548definition, then the existing combined definition is used, thus avoiding
549the need to construct one. Thus, preactivation never causes wrong
550results---but it may fail to do any good, if the enabled advice at the
551time of activation doesn't match what was used for preactivation.
552
553 Here are some symptoms that can indicate that a preactivation did not
554work properly, because of a mismatch.
555
556@itemize @bullet
557@item
558Activation of the advised
559function takes longer than usual.
560@item
561The byte compiler gets
562loaded while an advised function gets activated.
563@item
564@code{byte-compile} is included in the value of @code{features} even
565though you did not ever explicitly use the byte compiler.
566@end itemize
567
568Compiled preactivated advice works properly even if the function itself
569is not defined until later; however, the function needs to be defined
570when you @emph{compile} the preactivated advice.
571
572There is no elegant way to find out why preactivated advice is not being
573used. What you can do is to trace the function
574@code{ad-cache-id-verification-code} (with the function
575@code{trace-function-background}) before the advised function's advice
576is activated. After activation, check the value returned by
577@code{ad-cache-id-verification-code} for that function: @code{verified}
578means that the preactivated advice was used, while other values give
579some information about why they were considered inappropriate.
580
581 @strong{Warning:} There is one known case that can make preactivation
582fail, in that a preconstructed combined definition is used even though
583it fails to match the current state of advice. This can happen when two
584packages define different pieces of advice with the same name, in the
585same class, for the same function. But you should avoid that anyway.
586
587@node Argument Access in Advice
588@section Argument Access in Advice
589
590 The simplest way to access the arguments of an advised function in the
591body of a piece of advice is to use the same names that the function
592definition uses. To do this, you need to know the names of the argument
593variables of the original function.
594
595 While this simple method is sufficient in many cases, it has a
596disadvantage: it is not robust, because it hard-codes the argument names
597into the advice. If the definition of the original function changes,
598the advice might break.
599
600 Another method is to specify an argument list in the advice itself.
601This avoids the need to know the original function definition's argument
602names, but it has a limitation: all the advice on any particular
603function must use the same argument list, because the argument list
604actually used for all the advice comes from the first piece of advice
605for that function.
606
607 A more robust method is to use macros that are translated into the
608proper access forms at activation time, i.e., when constructing the
609advised definition. Access macros access actual arguments by their
610(zero-based) position, regardless of how these actual arguments get
611distributed onto the argument variables of a function. This is robust
612because in Emacs Lisp the meaning of an argument is strictly
613determined by its position in the argument list.
614
615@defmac ad-get-arg position
616This returns the actual argument that was supplied at @var{position}.
617@end defmac
618
619@defmac ad-get-args position
620This returns the list of actual arguments supplied starting at
621@var{position}.
622@end defmac
623
624@defmac ad-set-arg position value
625This sets the value of the actual argument at @var{position} to
626@var{value}
627@end defmac
628
629@defmac ad-set-args position value-list
630This sets the list of actual arguments starting at @var{position} to
631@var{value-list}.
632@end defmac
633
634 Now an example. Suppose the function @code{foo} is defined as
635
636@example
637(defun foo (x y &optional z &rest r) ...)
638@end example
639
640@noindent
641and is then called with
642
643@example
644(foo 0 1 2 3 4 5 6)
645@end example
646
647@noindent
648which means that @var{x} is 0, @var{y} is 1, @var{z} is 2 and @var{r} is
649@code{(3 4 5 6)} within the body of @code{foo}. Here is what
650@code{ad-get-arg} and @code{ad-get-args} return in this case:
651
652@example
653(ad-get-arg 0) @result{} 0
654(ad-get-arg 1) @result{} 1
655(ad-get-arg 2) @result{} 2
656(ad-get-arg 3) @result{} 3
657(ad-get-args 2) @result{} (2 3 4 5 6)
658(ad-get-args 4) @result{} (4 5 6)
659@end example
660
661 Setting arguments also makes sense in this example:
662
663@example
664(ad-set-arg 5 "five")
665@end example
666
667@noindent
668has the effect of changing the sixth argument to @code{"five"}. If this
669happens in advice executed before the body of @code{foo} is run, then
670@var{r} will be @code{(3 4 "five" 6)} within that body.
671
672 Here is an example of setting a tail of the argument list:
673
674@example
675(ad-set-args 0 '(5 4 3 2 1 0))
676@end example
677
678@noindent
679If this happens in advice executed before the body of @code{foo} is run,
680then within that body, @var{x} will be 5, @var{y} will be 4, @var{z}
681will be 3, and @var{r} will be @code{(2 1 0)} inside the body of
682@code{foo}.
683
684 These argument constructs are not really implemented as Lisp macros.
685Instead they are implemented specially by the advice mechanism.
686
687@node Combined Definition
688@section The Combined Definition
689
690 Suppose that a function has @var{n} pieces of before-advice
691(numbered from 0 through @var{n}@minus{}1), @var{m} pieces of
692around-advice and @var{k} pieces of after-advice. Assuming no piece
693of advice is protected, the combined definition produced to implement
694the advice for a function looks like this:
695
696@example
697(lambda @var{arglist}
698 @r{[} @r{[}@var{advised-docstring}@r{]} @r{[}(interactive ...)@r{]} @r{]}
699 (let (ad-return-value)
700 @r{before-0-body-form}...
701 ....
702 @r{before-@var{n}@minus{}1-body-form}...
703 @r{around-0-body-form}...
704 @r{around-1-body-form}...
705 ....
706 @r{around-@var{m}@minus{}1-body-form}...
707 (setq ad-return-value
708 @r{apply original definition to @var{arglist}})
709 @r{end-of-around-@var{m}@minus{}1-body-form}...
710 ....
711 @r{end-of-around-1-body-form}...
712 @r{end-of-around-0-body-form}...
713 @r{after-0-body-form}...
714 ....
715 @r{after-@var{k}@minus{}1-body-form}...
716 ad-return-value))
717@end example
718
719Macros are redefined as macros, which means adding @code{macro} to
720the beginning of the combined definition.
721
722The interactive form is present if the original function or some piece
723of advice specifies one. When an interactive primitive function is
724advised, advice uses a special method: it calls the primitive with
725@code{call-interactively} so that it will read its own arguments.
726In this case, the advice cannot access the arguments.
727
728The body forms of the various advice in each class are assembled
729according to their specified order. The forms of around-advice @var{l}
730are included in one of the forms of around-advice @var{l} @minus{} 1.
731
732The innermost part of the around advice onion is
733
734@display
735apply original definition to @var{arglist}
736@end display
737
738@noindent
739whose form depends on the type of the original function. The variable
740@code{ad-return-value} is set to whatever this returns. The variable is
741visible to all pieces of advice, which can access and modify it before
742it is actually returned from the advised function.
743
744The semantic structure of advised functions that contain protected
745pieces of advice is the same. The only difference is that
746@code{unwind-protect} forms ensure that the protected advice gets
747executed even if some previous piece of advice had an error or a
748non-local exit. If any around-advice is protected, then the whole
749around-advice onion is protected as a result.
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 9681c3c42a3..0b2154cdb5e 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -194,7 +194,6 @@ To view this manual in other formats, click
194 194
195* Loading:: Reading files of Lisp code into Lisp. 195* Loading:: Reading files of Lisp code into Lisp.
196* Byte Compilation:: Compilation makes programs run faster. 196* Byte Compilation:: Compilation makes programs run faster.
197* Advising Functions:: Adding to the definition of a function.
198* Debugging:: Tools and tips for debugging Lisp programs. 197* Debugging:: Tools and tips for debugging Lisp programs.
199 198
200* Read and Print:: Converting Lisp objects to text and back. 199* Read and Print:: Converting Lisp objects to text and back.
@@ -614,19 +613,6 @@ Byte Compilation
614* Byte-Code Objects:: The data type used for byte-compiled functions. 613* Byte-Code Objects:: The data type used for byte-compiled functions.
615* Disassembly:: Disassembling byte-code; how to read byte-code. 614* Disassembly:: Disassembling byte-code; how to read byte-code.
616 615
617Advising Emacs Lisp Functions
618
619* Simple Advice:: A simple example to explain the basics of advice.
620* Defining Advice:: Detailed description of @code{defadvice}.
621* Around-Advice:: Wrapping advice around a function's definition.
622* Computed Advice:: ...is to @code{defadvice} as @code{fset} is to @code{defun}.
623* Activation of Advice:: Advice doesn't do anything until you activate it.
624* Enabling Advice:: You can enable or disable each piece of advice.
625* Preactivation:: Preactivation is a way of speeding up the
626 loading of compiled advice.
627* Argument Access in Advice:: How advice can access the function's arguments.
628* Combined Definition:: How advice is implemented.
629
630Debugging Lisp Programs 616Debugging Lisp Programs
631 617
632* Debugger:: A debugger for the Emacs Lisp evaluator. 618* Debugger:: A debugger for the Emacs Lisp evaluator.
@@ -1561,7 +1547,6 @@ Object Internals
1561@include customize.texi 1547@include customize.texi
1562@include loading.texi 1548@include loading.texi
1563@include compile.texi 1549@include compile.texi
1564@include advice.texi
1565 1550
1566@c This includes edebug.texi. 1551@c This includes edebug.texi.
1567@include debugging.texi 1552@include debugging.texi
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index d203f1c824f..d86430a5ac0 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -21,6 +21,7 @@ define them.
21* Function Cells:: Accessing or setting the function definition 21* Function Cells:: Accessing or setting the function definition
22 of a symbol. 22 of a symbol.
23* Closures:: Functions that enclose a lexical environment. 23* Closures:: Functions that enclose a lexical environment.
24* Advising Functions:: Adding to the definition of a function.
24* Obsolete Functions:: Declaring functions obsolete. 25* Obsolete Functions:: Declaring functions obsolete.
25* Inline Functions:: Functions that the compiler will expand inline. 26* Inline Functions:: Functions that the compiler will expand inline.
26* Declare Form:: Adding additional information about a function. 27* Declare Form:: Adding additional information about a function.
@@ -1077,12 +1078,10 @@ This function stores @var{definition} in the function cell of
1077this is not checked. The argument @var{symbol} is an ordinary evaluated 1078this is not checked. The argument @var{symbol} is an ordinary evaluated
1078argument. 1079argument.
1079 1080
1080The primary use of this function is as a subroutine by constructs that 1081The primary use of this function is as a subroutine by constructs that define
1081define or alter functions, like @code{defadvice} (@pxref{Advising 1082or alter functions, like @code{defun} or @code{advice-add} (@pxref{Advising
1082Functions}). (If @code{defun} were not a primitive, it could be 1083Functions}). You can also use it to give a symbol a function definition that
1083written as a Lisp macro using @code{fset}.) You can also use it to 1084is not a function, e.g., a keyboard macro (@pxref{Keyboard Macros}):
1084give a symbol a function definition that is not a list, e.g., a
1085keyboard macro (@pxref{Keyboard Macros}):
1086 1085
1087@example 1086@example
1088;; @r{Define a named keyboard macro.} 1087;; @r{Define a named keyboard macro.}
@@ -1133,6 +1132,269 @@ However, the fact that the internal structure of a closure is
1133implementation detail. For this reason, we recommend against directly 1132implementation detail. For this reason, we recommend against directly
1134examining or altering the structure of closure objects. 1133examining or altering the structure of closure objects.
1135 1134
1135@node Advising Functions
1136@section Advising Emacs Lisp Functions
1137@cindex advising functions
1138@cindex piece of advice
1139
1140Any variable or object field which holds a function can be modified with the
1141appropriate setter function, such as @code{set-process-filter}, @code{fset}, or
1142@code{setq}, but those can be too blunt, completely throwing away the
1143previous value.
1144
1145In order to modify such hooks in a more controlled way, Emacs provides the
1146macros @code{add-function} and @code{remove-function}, which let you modify the
1147existing function value by composing it with another function.
1148
1149For example, in order to trace the calls to a process filter, you can use:
1150
1151@example
1152(add-function :before (process-filter proc) #'my-tracing-function)
1153@end example
1154
1155This will cause the process's output to be passed first to
1156@code{my-tracing-function} and then to the original process filter.
1157When you're done with it, you can revert to the untraced behavior with:
1158
1159@example
1160(remove-function (process-filter proc) #'my-tracing-function)
1161@end example
1162
1163The argument @code{:before} specifies how the two functions are composed, since
1164there are many different ways to do it. The added function is also called an
1165@emph{advice}.
1166
1167The function cell of a symbol can be manipulated similarly, but since it can
1168contain other things than a plain function, you have to use @var{advice-add}
1169and @var{advice-remove} instead, which
1170@c use @var{add-function} and @var{remove-function} internally, but
1171know how to handle cases such as when the function cell holds a macro rather
1172than function, or when the function is autoloaded so the advice's activation
1173needs to be postponed.
1174
1175@menu
1176* Advising Primitives:: Primitives to Manipulate Advices
1177* Advising Named Functions:: Advising Named Functions
1178@end menu
1179
1180@node Advising Primitives
1181@subsection Primitives to manipulate advice
1182
1183@defmac add-function where place function &optional props
1184This macro is the handy way to add the advice @var{function} to the function
1185stored in @var{place} (@pxref{Generalized Variables}).
1186
1187@var{where} determines how @var{function} is composed with the
1188existing function. It can be one of the following:
1189
1190@table @code
1191@item :before
1192Call @var{function} before the old function. Both functions receive the
1193same arguments, and the return value of the composition is the return value of
1194the old function. More specifically, the composition of the two functions
1195behaves like:
1196@example
1197(lambda (&rest r) (apply @var{function} r) (apply @var{oldfun} r))
1198@end example
1199This is similar to @code{(add-hook @var{hook} @var{function})}, except that it
1200applies to single-function hooks rather than normal hooks.
1201
1202@item :after
1203Call @var{function} after the old function. Both functions receive the
1204same arguments, and the return value of the composition is the return value of
1205the old function. More specifically, the composition of the two functions
1206behaves like:
1207@example
1208(lambda (&rest r) (prog1 (apply @var{oldfun} r) (apply @var{function} r)))
1209@end example
1210This is similar to @code{(add-hook @var{hook} @var{function} nil 'append)},
1211except that it applies to single-function hooks rather than normal hooks.
1212
1213@item :override
1214This completely replaces the old function with the new one. The old function
1215can of course be recovered if you later call @code{remove-function}.
1216
1217@item :around
1218Call @var{function} instead of the old function, but provide the old function
1219as an extra argument to @var{function}. This is the most flexible composition.
1220For example, it lets you call the old function with different arguments, or
1221within a let-binding, or you can sometimes delegate the work to the old
1222function and sometimes override it completely. More specifically, the
1223composition of the two functions behaves like:
1224@example
1225(lambda (&rest r) (apply @var{function} @var{oldfun} r))
1226@end example
1227
1228@item :before-while
1229Call @var{function} before the old function and don't call the old
1230function if @var{function} returns @code{nil}. Both functions receive the
1231same arguments, and the return value of the composition is the return value of
1232the old function. More specifically, the composition of the two functions
1233behaves like:
1234@example
1235(lambda (&rest r) (and (apply @var{function} r) (apply @var{oldfun} r)))
1236@end example
1237This is reminiscent of @code{(add-hook @var{hook} @var{function})}, when
1238@var{hook} is run via @code{run-hook-with-args-until-failure}.
1239
1240@item :before-until
1241Call @var{function} before the old function and only call the old function if
1242@var{function} returns @code{nil}. More specifically, the composition of the
1243two functions behaves like:
1244@example
1245(lambda (&rest r) (or (apply @var{function} r) (apply @var{oldfun} r)))
1246@end example
1247This is reminiscent of @code{(add-hook @var{hook} @var{function})}, when
1248@var{hook} is run via @code{run-hook-with-args-until-success}.
1249
1250@item :after-while
1251Call @var{function} after the old function and only if the old function
1252returned non-@code{nil}. Both functions receive the same arguments, and the
1253return value of the composition is the return value of @var{function}.
1254More specifically, the composition of the two functions behaves like:
1255@example
1256(lambda (&rest r) (and (apply @var{oldfun} r) (apply @var{function} r)))
1257@end example
1258This is reminiscent of @code{(add-hook @var{hook} @var{function} nil 'append)},
1259when @var{hook} is run via @code{run-hook-with-args-until-failure}.
1260
1261@item :after-until
1262Call @var{function} after the old function and only if the old function
1263returned @code{nil}. More specifically, the composition of the two functions
1264behaves like:
1265@example
1266(lambda (&rest r) (or (apply @var{oldfun} r) (apply @var{function} r)))
1267@end example
1268This is reminiscent of @code{(add-hook @var{hook} @var{function} nil 'append)},
1269when @var{hook} is run via @code{run-hook-with-args-until-success}.
1270
1271@item :filter-args
1272Call @var{function} first and use the result (which should be a list) as the
1273new arguments to pass to the old function. More specifically, the composition
1274of the two functions behaves like:
1275@example
1276(lambda (&rest r) (apply @var{oldfun} (funcall @var{function} r)))
1277@end example
1278
1279@item :filter-return
1280Call the old function first and pass the result to @var{function}.
1281More specifically, the composition of the two functions behaves like:
1282@example
1283(lambda (&rest r) (funcall @var{function} (apply @var{oldfun} r)))
1284@end example
1285@end table
1286
1287When modifying a variable (whose name will usually end with @code{-function}),
1288you can choose whether @var{function} is used globally or only in the current
1289buffer: if @var{place} is just a symbol, then @var{function} is added to the
1290global value of @var{place}. Whereas if @var{place} is of the form
1291@code{(local @var{symbol})}, where @var{symbol} is an expression which returns
1292the variable name, then @var{function} will only be added in the
1293current buffer.
1294
1295Every function added with @code{add-function} can be accompanied by an
1296association list of properties @var{props}. Currently only two of those
1297properties have a special meaning:
1298
1299@table @code
1300@item name
1301This gives a name to the advice, which @code{remove-function} can use to
1302identify which function to remove. Typically used when @var{function} is an
1303anonymous function.
1304
1305@item depth
1306This specifies where to place the advice, in case several advices are present.
1307By default, the depth is 0. A depth of 100 indicates that this advice should
1308be kept as deep as possible, whereas a depth of -100 indicates that it
1309should stay as the outermost advice. When two advices specify the same depth,
1310the most recently added advice will be outermost.
1311@end table
1312@end defmac
1313
1314@defmac remove-function place function
1315This macro removes @var{function} from the function stored in
1316@var{place}. This only works if @var{function} was added to @var{place}
1317using @code{add-function}.
1318
1319@var{function} is compared with functions added to @var{place} using
1320@code{equal}, to try and make it work also with lambda expressions. It is
1321additionally compared also with the @code{name} property of the functions added
1322to @var{place}, which can be more reliable than comparing lambda expressions
1323using @code{equal}.
1324@end defmac
1325
1326@defun advice-function-member-p advice function-def
1327Return non-@code{nil} if @var{advice} is already in @var{function-def}.
1328Like for @code{remove-function} above, instead of @var{advice} being the actual
1329function, it can also be the @code{name} of the piece of advice.
1330@end defun
1331
1332@defun advice-function-mapc f function-def
1333Call the function @var{f} for every advice that was added to
1334@var{function-def}. @var{f} is called with two arguments: the advice function
1335and its properties.
1336@end defun
1337
1338@node Advising Named Functions
1339@subsection Advising Named Functions
1340
1341A common use of advice is for named functions and macros.
1342Since @var{add-function} does not know how to deal with macros and autoloaded
1343functions, Emacs provides a separate set of functions to manipulate pieces of
1344advice applied to named functions.
1345
1346 Advice can be useful for altering the behavior of an existing
1347function without having to redefine the whole function. However, it
1348can be a source of bugs, since existing callers to the function may
1349assume the old behavior, and work incorrectly when the behavior is
1350changed by advice. Advice can also cause confusion in debugging, if
1351the person doing the debugging does not notice or remember that the
1352function has been modified by advice.
1353
1354 For these reasons, advice should be reserved for the cases where you
1355cannot modify a function's behavior in any other way. If it is
1356possible to do the same thing via a hook, that is preferable
1357(@pxref{Hooks}). If you simply want to change what a particular key
1358does, it may be better to write a new command, and remap the old
1359command's key bindings to the new one (@pxref{Remapping Commands}).
1360In particular, Emacs's own source files should not put advice on
1361functions in Emacs. (There are currently a few exceptions to this
1362convention, but we aim to correct them.)
1363
1364 Macros can also be advised, in much the same way as functions.
1365However, special forms (@pxref{Special Forms}) cannot be advised.
1366
1367 It is possible to advise a primitive (@pxref{What Is a Function}),
1368but one should typically @emph{not} do so, for two reasons. Firstly,
1369some primitives are used by the advice mechanism, and advising them
1370could cause an infinite recursion. Secondly, many primitives are
1371called directly from C, and such calls ignore advice; hence, one ends
1372up in a confusing situation where some calls (occurring from Lisp
1373code) obey the advice and other calls (from C code) do not.
1374
1375@defun advice-add symbol where function &optional props
1376Add the advice @var{function} to the named function @var{symbol}.
1377@var{where} and @var{props} have the same meaning as for @code{add-function}
1378(@pxref{Advising Primitives}).
1379@end defun
1380
1381@defun advice-remove symbol function
1382Remove the advice @var{function} from the named function @var{symbol}.
1383@var{function} can also be the @code{name} of an advice.
1384@end defun
1385
1386@defun advice-member-p function symbol
1387Return non-@code{nil} if the advice @var{function} is already in the named
1388function @var{symbol}. @var{function} can also be the @code{name} of
1389an advice.
1390@end defun
1391
1392@defun advice-mapc function symbol
1393Call @var{function} for every advice that was added to the named function
1394@var{symbol}. @var{function} is called with two arguments: the advice function
1395and its properties.
1396@end defun
1397
1136@node Obsolete Functions 1398@node Obsolete Functions
1137@section Declaring Functions Obsolete 1399@section Declaring Functions Obsolete
1138@cindex obsolete functions 1400@cindex obsolete functions
diff --git a/doc/lispref/makefile.w32-in b/doc/lispref/makefile.w32-in
index a56edd9f498..01fe14944fd 100644
--- a/doc/lispref/makefile.w32-in
+++ b/doc/lispref/makefile.w32-in
@@ -49,7 +49,6 @@ texinputdir = $(srcdir)\..\..\nt\envadd.bat \
49srcs = \ 49srcs = \
50 $(emacsdir)/emacsver.texi \ 50 $(emacsdir)/emacsver.texi \
51 $(srcdir)/abbrevs.texi \ 51 $(srcdir)/abbrevs.texi \
52 $(srcdir)/advice.texi \
53 $(srcdir)/anti.texi \ 52 $(srcdir)/anti.texi \
54 $(srcdir)/backups.texi \ 53 $(srcdir)/backups.texi \
55 $(srcdir)/buffers.texi \ 54 $(srcdir)/buffers.texi \
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 50bbe2914ee..df0dd1a58e0 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -69,11 +69,13 @@ functions are called with arguments, or their return values are used
69in some way. The hook's documentation says how the functions are 69in some way. The hook's documentation says how the functions are
70called. You can use @code{add-hook} to add a function to an abnormal 70called. You can use @code{add-hook} to add a function to an abnormal
71hook, but you must write the function to follow the hook's calling 71hook, but you must write the function to follow the hook's calling
72convention. 72convention. By convention, abnormal hook names end in @samp{-functions}.
73 73
74 By convention, abnormal hook names end in @samp{-functions}. If the 74@cindex single-function hook
75variable's name ends in @samp{-function}, then its value is just a single 75If the variable's name ends in @samp{-function}, then its value is
76function, not a list of functions. 76just a single function, not a list of functions. @code{add-hook} cannot be
77used to modify such a @emph{single function hook}, and you have to use
78@code{add-function} instead (@pxref{Advising Functions}).
77 79
78@menu 80@menu
79* Running Hooks:: How to run a hook. 81* Running Hooks:: How to run a hook.
@@ -129,47 +131,6 @@ non-@code{nil} value, it returns that value; otherwise it returns
129@code{nil}. 131@code{nil}.
130@end defun 132@end defun
131 133
132@defmac with-wrapper-hook hook args &rest body
133This macro runs the abnormal hook @code{hook} as a series of nested
134``wrapper functions'' around the @var{body} forms. The effect is
135similar to nested @code{around} advices (@pxref{Around-Advice}).
136
137Each hook function should accept an argument list consisting of a function
138@var{fun}, followed by the additional arguments listed in @var{args}.
139The first hook function is passed a function @var{fun} that, if it is
140called with arguments @var{args}, performs @var{body} (i.e., the default
141operation). The @var{fun} passed to each successive hook function is
142constructed from all the preceding hook functions (and @var{body}); if
143this @var{fun} is called with arguments @var{args}, it does what the
144@code{with-wrapper-hook} call would if the preceding hook functions were
145the only ones in @var{hook}.
146
147Each hook function may call its @var{fun} argument as many times as it
148wishes, including never. In that case, such a hook function acts to
149replace the default definition altogether, and any preceding hook
150functions. Of course, a subsequent hook function may do the same thing.
151
152Each hook function definition is used to construct the @var{fun} passed
153to the next hook function in @var{hook}, if any. The last or
154``outermost'' @var{fun} is called once to produce the overall effect.
155
156When might you want to use a wrapper hook? The function
157@code{filter-buffer-substring} illustrates a common case. There is a
158basic functionality, performed by @var{body}---in this case, to extract
159a buffer-substring. Then any number of hook functions can act in
160sequence to modify that string, before returning the final result.
161A wrapper-hook also allows for a hook function to completely replace the
162default definition (by not calling @var{fun}).
163@end defmac
164
165@defun run-hook-wrapped hook wrap-function &rest args
166This function is similar to @code{run-hook-with-args-until-success}.
167Like that function, it runs the functions on the abnormal hook
168@code{hook}, stopping at the first one that returns non-@code{nil}.
169Instead of calling the hook functions directly, though, it actually
170calls @code{wrap-function} with arguments @code{fun} and @code{args}.
171@end defun
172
173@node Setting Hooks 134@node Setting Hooks
174@subsection Setting Hooks 135@subsection Setting Hooks
175 136
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index 61e44fbafac..5c814b22b2d 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -521,6 +521,13 @@ the optional argument @var{ignore-case} is non-@code{nil}, the
521comparison ignores case differences. 521comparison ignores case differences.
522@end defun 522@end defun
523 523
524@defun string-suffix-p suffix string &optional ignore-case
525This function returns non-@code{nil} if @var{suffix} is a suffix of
526@var{string}; i.e., if @var{string} ends with @var{suffix}. If the
527optional argument @var{ignore-case} is non-@code{nil}, the comparison
528ignores case differences.
529@end defun
530
524@defun compare-strings string1 start1 end1 string2 start2 end2 &optional ignore-case 531@defun compare-strings string1 start1 end1 string2 start2 end2 &optional ignore-case
525This function compares a specified part of @var{string1} with a 532This function compares a specified part of @var{string1} with a
526specified part of @var{string2}. The specified part of @var{string1} 533specified part of @var{string2}. The specified part of @var{string1}
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 7a20b6684d3..60cda8068bb 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -4284,6 +4284,14 @@ A call to @code{libxml-parse-html-region} returns this:
4284@end example 4284@end example
4285@end defun 4285@end defun
4286 4286
4287@cindex rendering html
4288@defun shr-insert-document dom
4289This function renders the parsed HTML in @var{dom} into the current
4290buffer. The argument @var{dom} should be a list as generated by
4291@code{libxml-parse-html-region}. This function is, e.g., used by
4292@ref{Top, EWW,, eww, The Emacs Web Wowser Manual}.
4293@end defun
4294
4287@cindex parsing xml 4295@cindex parsing xml
4288@defun libxml-parse-xml-region start end &optional base-url 4296@defun libxml-parse-xml-region start end &optional base-url
4289This function is the same as @code{libxml-parse-html-region}, except 4297This function is the same as @code{libxml-parse-html-region}, except
diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog
index 6a299469bdb..37f765db00f 100644
--- a/doc/man/ChangeLog
+++ b/doc/man/ChangeLog
@@ -1,3 +1,7 @@
12014-01-09 Glenn Morris <rgm@gnu.org>
2
3 * emacs.1: Refer to online service directory rather than etc/SERVICE.
4
12013-08-31 Ulrich Müller <ulm@gentoo.org> 52013-08-31 Ulrich Müller <ulm@gentoo.org>
2 6
3 * emacs.1: Update manual links. 7 * emacs.1: Update manual links.
diff --git a/doc/man/emacs.1 b/doc/man/emacs.1
index 3078c29e25a..bd568a2e9da 100644
--- a/doc/man/emacs.1
+++ b/doc/man/emacs.1
@@ -576,9 +576,6 @@ strings for the Lisp primitives and preloaded Lisp functions
576of GNU Emacs. 576of GNU Emacs.
577They are stored here to reduce the size of Emacs proper. 577They are stored here to reduce the size of Emacs proper.
578 578
579/usr/local/share/emacs/$VERSION/etc/SERVICE lists people offering
580various services to assist users of GNU Emacs, including education,
581troubleshooting, porting and customization.
582. 579.
583. 580.
584.SH BUGS 581.SH BUGS
@@ -597,8 +594,8 @@ easily reproduced.
597Do not expect a personal answer to a bug report. 594Do not expect a personal answer to a bug report.
598The purpose of reporting bugs is to get them fixed for everyone 595The purpose of reporting bugs is to get them fixed for everyone
599in the next release, if possible. 596in the next release, if possible.
600For personal assistance, look in the SERVICE file (see above) for 597For personal assistance, consult the service directory at
601a list of people who offer it. 598<http://www.fsf.org/resources/service/> for a list of people who offer it.
602 599
603Please do not send anything but bug reports to this mailing list. 600Please do not send anything but bug reports to this mailing list.
604For more information about Emacs mailing lists, see the 601For more information about Emacs mailing lists, see the
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 46fb672e28a..722d11c70f2 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,12 @@
12014-01-10 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * cl.texi (Function Bindings): Fix incorrect description of cl-let.
4
52014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
6
7 * Makefile.in: Add eww.texi.
8 * eww.texi: New file.
9
12014-01-07 Glenn Morris <rgm@gnu.org> 102014-01-07 Glenn Morris <rgm@gnu.org>
2 11
3 * efaq.texi (Problems with very large files): Fix superscript typo. 12 * efaq.texi (Problems with very large files): Fix superscript typo.
@@ -13,8 +22,8 @@
13 (Advanced configuration) 22 (Advanced configuration)
14 (Header arguments in Org mode properties): Spelling fixes. 23 (Header arguments in Org mode properties): Spelling fixes.
15 (Special blocks): Add #+BEGIN_ABSTRACT as another example. 24 (Special blocks): Add #+BEGIN_ABSTRACT as another example.
16 (@LaTeX{} specific attributes): New index entries. Use 25 (@LaTeX{} specific attributes): New index entries.
17 #+BEGIN_ABSTRACT in the example. 26 Use #+BEGIN_ABSTRACT in the example.
18 27
192013-01-07 Nicolas Goaziou <n.goaziou@gmail.com> 282013-01-07 Nicolas Goaziou <n.goaziou@gmail.com>
20 29
@@ -75,7 +84,7 @@
75 84
762014-01-02 Aidan Gauland <aidalgol@amuri.net> 852014-01-02 Aidan Gauland <aidalgol@amuri.net>
77 86
78 * eshell.texi (Command Basics): Removed `Command basics' chapter. 87 * eshell.texi (Command Basics): Remove `Command basics' chapter.
79 88
802014-01-02 Aidan Gauland <aidalgol@amuri.net> 892014-01-02 Aidan Gauland <aidalgol@amuri.net>
81 90
@@ -195,8 +204,8 @@
195 * org.texi (Orgstruct mode): Fix suggested setting of 204 * org.texi (Orgstruct mode): Fix suggested setting of
196 `orgstruct-heading-prefix-regexp'. 205 `orgstruct-heading-prefix-regexp'.
197 206
198 * org.texi (Export settings): Document 207 * org.texi (Export settings):
199 `org-export-allow-bind-keywords'. 208 Document `org-export-allow-bind-keywords'.
200 209
201 * org.texi (History and Acknowledgments): Small rephrasing. 210 * org.texi (History and Acknowledgments): Small rephrasing.
202 211
@@ -204,8 +213,8 @@
204 in a year datetree. 213 in a year datetree.
205 214
206 * org.texi (Beamer export, @LaTeX{} and PDF export) 215 * org.texi (Beamer export, @LaTeX{} and PDF export)
207 (Header and sectioning, @LaTeX{} specific attributes): Enhance 216 (Header and sectioning, @LaTeX{} specific attributes):
208 style. 217 Enhance style.
209 218
210 * org.texi (Agenda commands): Add a footnote about dragging agenda 219 * org.texi (Agenda commands): Add a footnote about dragging agenda
211 lines: it does not persist and it does not change the .org files. 220 lines: it does not persist and it does not change the .org files.
@@ -224,15 +233,15 @@
224 233
225 * org.texi (Other built-in back-ends): New section. 234 * org.texi (Other built-in back-ends): New section.
226 235
227 * org.texi (Editing source code): Document 236 * org.texi (Editing source code):
228 `org-edit-src-auto-save-idle-delay' and 237 Document `org-edit-src-auto-save-idle-delay' and
229 `org-edit-src-turn-on-auto-save'. 238 `org-edit-src-turn-on-auto-save'.
230 239
231 * org.texi (External links): Document contributed link types 240 * org.texi (External links): Document contributed link types
232 separately. 241 separately.
233 242
234 * org.texi (Closing items): Document 243 * org.texi (Closing items):
235 `org-closed-keep-when-no-todo'. 244 Document `org-closed-keep-when-no-todo'.
236 245
237 * org.texi (Export back-ends): Rename from "Export formats". 246 * org.texi (Export back-ends): Rename from "Export formats".
238 (The Export Dispatcher): Remove reference to 247 (The Export Dispatcher): Remove reference to
@@ -268,8 +277,8 @@
268 (Agenda commands): Move details about filtering commands to 277 (Agenda commands): Move details about filtering commands to
269 the new section, only include a summary here. 278 the new section, only include a summary here.
270 (Customizing tables in ODT export) 279 (Customizing tables in ODT export)
271 (System-wide header arguments, Conflicts, Dynamic blocks): Use 280 (System-wide header arguments, Conflicts, Dynamic blocks):
272 spaces for indentation. 281 Use spaces for indentation.
273 282
274 * org.texi (Emphasis and monospace): Mention `org-emphasis-alist'. 283 * org.texi (Emphasis and monospace): Mention `org-emphasis-alist'.
275 284
@@ -326,8 +335,8 @@
326 (In-buffer settings): Update to reflect changes from the new 335 (In-buffer settings): Update to reflect changes from the new
327 export engine. 336 export engine.
328 337
329 * org.texi (Matching tags and properties): More examples. Explain 338 * org.texi (Matching tags and properties): More examples.
330 group tags expansion as regular expressions. 339 Explain group tags expansion as regular expressions.
331 340
332 * org.texi (Tag groups): New section. 341 * org.texi (Tag groups): New section.
333 342
@@ -352,8 +361,8 @@
352 361
353 * org.texi (Org syntax): New section. 362 * org.texi (Org syntax): New section.
354 363
355 * org.texi (Orgstruct mode): Document 364 * org.texi (Orgstruct mode):
356 `orgstruct-heading-prefix-regexp'. 365 Document `orgstruct-heading-prefix-regexp'.
357 366
358 * org.texi (Speeding up your agendas): New section. 367 * org.texi (Speeding up your agendas): New section.
359 368
@@ -377,8 +386,8 @@
377 * org.texi: Update the list contributions. 386 * org.texi: Update the list contributions.
378 387
379 * org.texi (Agenda commands): Exporting the agenda to an .org file 388 * org.texi (Agenda commands): Exporting the agenda to an .org file
380 will not copy the subtrees and the inherited tags. Document 389 will not copy the subtrees and the inherited tags.
381 `org-agenda-filter-by-regexp'. 390 Document `org-agenda-filter-by-regexp'.
382 391
383 * org.texi (Publishing action, Complex example): Fix names of 392 * org.texi (Publishing action, Complex example): Fix names of
384 publishing functions. 393 publishing functions.
@@ -392,8 +401,8 @@
392 * org.texi (Capture): Mention that org-remember.el is not 401 * org.texi (Capture): Mention that org-remember.el is not
393 supported anymore. 402 supported anymore.
394 403
395 * org.texi (Top, Exporting, Beamer class export): Delete 404 * org.texi (Top, Exporting, Beamer class export):
396 references to the TaskJuggler export. 405 Delete references to the TaskJuggler export.
397 (History and Acknowledgments): Mention that the TaskJuggler has 406 (History and Acknowledgments): Mention that the TaskJuggler has
398 been rewritten by Nicolas and now lives in the contrib/ directory 407 been rewritten by Nicolas and now lives in the contrib/ directory
399 of Org's distribution. Mention that Jambunathan rewrote the HTML 408 of Org's distribution. Mention that Jambunathan rewrote the HTML
@@ -410,16 +419,16 @@
410 (@LaTeX{} and PDF export, Header and sectioning) 419 (@LaTeX{} and PDF export, Header and sectioning)
411 (Publishing options): Fix LaTeX options names. 420 (Publishing options): Fix LaTeX options names.
412 421
413 * org.texi (Export options, CSS support, In-buffer settings): Fix 422 * org.texi (Export options, CSS support, In-buffer settings):
414 references to HTML_LINK_* and HTML_STYLE keywords. 423 Fix references to HTML_LINK_* and HTML_STYLE keywords.
415 424
416 * org.texi (Export options, In-buffer settings): Fix references to 425 * org.texi (Export options, In-buffer settings): Fix references to
417 #+SELECT_TAGS and #+EXCLUDE_TAGS and remove reference to #+XSLT. 426 #+SELECT_TAGS and #+EXCLUDE_TAGS and remove reference to #+XSLT.
418 427
419 * org.texi (Top, Markup, Initial text, Images and tables) 428 * org.texi (Top, Markup, Initial text, Images and tables)
420 (@LaTeX{} fragments, @LaTeX{} fragments, Exporting) 429 (@LaTeX{} fragments, @LaTeX{} fragments, Exporting)
421 (Export options, JavaScript support, Beamer class export): Remove 430 (Export options, JavaScript support, Beamer class export):
422 references to the DocBook export, which has been deleted. 431 Remove references to the DocBook export, which has been deleted.
423 (History and Acknowledgments): Mention that DocBook has been 432 (History and Acknowledgments): Mention that DocBook has been
424 deleted, suggest to use the Texinfo exporter instead, then to 433 deleted, suggest to use the Texinfo exporter instead, then to
425 convert the .texi to DocBook with makeinfo. 434 convert the .texi to DocBook with makeinfo.
@@ -428,8 +437,8 @@
428 * org.texi (Deadlines and scheduling): Add a variable to the 437 * org.texi (Deadlines and scheduling): Add a variable to the
429 index. Add documentation about delays for scheduled tasks. 438 index. Add documentation about delays for scheduled tasks.
430 439
431 * org.texi (Emphasis and monospace): Mention 440 * org.texi (Emphasis and monospace):
432 `org-fontify-emphasized-text' and 441 Mention `org-fontify-emphasized-text' and
433 `org-emphasis-regexp-components'. 442 `org-emphasis-regexp-components'.
434 443
435 * org.texi (References): Small enhancement. 444 * org.texi (References): Small enhancement.
@@ -486,7 +495,7 @@
486 495
487 * org.texi (Extracting source code): Mention the prefix argument 496 * org.texi (Extracting source code): Mention the prefix argument
488 to org-babel-tangle. 497 to org-babel-tangle.
489 (noweb): Removed erroneous negative. 498 (noweb): Remove erroneous negative.
490 (Specific header arguments): Document new header arguments. 499 (Specific header arguments): Document new header arguments.
491 Documentation for new tangle-mode header argument. 500 Documentation for new tangle-mode header argument.
492 (Top): Documentation for new tangle-mode header argument. 501 (Top): Documentation for new tangle-mode header argument.
@@ -590,8 +599,8 @@
590 * org.texi (Header and sectioning): Add a footnote about the 599 * org.texi (Header and sectioning): Add a footnote about the
591 different between LATEX_HEADER_EXTRA and LATEX_HEADER. 600 different between LATEX_HEADER_EXTRA and LATEX_HEADER.
592 601
593 * org.texi (The Export Dispatcher): Document 602 * org.texi (The Export Dispatcher):
594 `org-export-in-background'. 603 Document `org-export-in-background'.
595 604
596 * org.texi (Footnotes): Export back-ends do not use 605 * org.texi (Footnotes): Export back-ends do not use
597 `org-footnote-normalize' anymore. 606 `org-footnote-normalize' anymore.
@@ -613,19 +622,19 @@
613 * org.texi (Include files): Remove reference to :prefix1 622 * org.texi (Include files): Remove reference to :prefix1
614 and :prefix. Give more details for :minlevel. 623 and :prefix. Give more details for :minlevel.
615 624
616 * org.texi (Macro replacement): Fix macro name. Update 625 * org.texi (Macro replacement): Fix macro name.
617 documentation about possible locations and escaping mechanism. 626 Update documentation about possible locations and escaping mechanism.
618 627
619 * org.texi (Table of contents): Update documentation. Document 628 * org.texi (Table of contents): Update documentation.
620 lists of listings and lists of tables. Add documentation for 629 Document lists of listings and lists of tables. Add documentation for
621 optional title and #+TOC: keyword. 630 optional title and #+TOC: keyword.
622 631
6232013-11-12 Rick Frankel <rick@rickster.com> 6322013-11-12 Rick Frankel <rick@rickster.com>
624 633
625 * org.texi (results): Add Format section, broken out of Type 634 * org.texi (results): Add Format section, broken out of Type
626 section to match code. 635 section to match code.
627 (hlines, colnames): Remove incorrect Emacs Lisp exception. Note 636 (hlines, colnames): Remove incorrect Emacs Lisp exception.
628 that the actual default handling (at least for python and 637 Note that the actual default handling (at least for python and
629 emacs-lisp) does not seem to match the description. 638 emacs-lisp) does not seem to match the description.
630 639
6312013-11-12 Sacha Chua <sacha@sachachua.com> (tiny change) 6402013-11-12 Sacha Chua <sacha@sachachua.com> (tiny change)
@@ -635,8 +644,8 @@
635 644
6362013-11-12 Yasushi Shoji <yashi@atmark-techno.com> 6452013-11-12 Yasushi Shoji <yashi@atmark-techno.com>
637 646
638 * org.texi (Resolving idle time): Document 647 * org.texi (Resolving idle time):
639 `org-clock-x11idle-program-name'. 648 Document `org-clock-x11idle-program-name'.
640 649
6412013-10-24 Michael Albinus <michael.albinus@gmx.de> 6502013-10-24 Michael Albinus <michael.albinus@gmx.de>
642 651
@@ -655,7 +664,7 @@
655 664
6562013-10-17 Jay Belanger <jay.p.belanger@gmail.com> 6652013-10-17 Jay Belanger <jay.p.belanger@gmail.com>
657 666
658 * calc.el (Data Type Formats): Don't specify the size at 667 * calc.texi (Data Type Formats): Don't specify the size at
659 which integers begin to be represented by lists. 668 which integers begin to be represented by lists.
660 669
6612013-10-14 Xue Fuqiao <xfq.free@gmail.com> 6702013-10-14 Xue Fuqiao <xfq.free@gmail.com>
@@ -877,8 +886,8 @@
877 886
8782013-07-29 Michael Albinus <michael.albinus@gmx.de> 8872013-07-29 Michael Albinus <michael.albinus@gmx.de>
879 888
880 * tramp.texi (Frequently Asked Questions): Mention 889 * tramp.texi (Frequently Asked Questions):
881 `tramp-use-ssh-controlmaster-options'. 890 Mention `tramp-use-ssh-controlmaster-options'.
882 891
8832013-07-26 Tassilo Horn <tsdh@gnu.org> 8922013-07-26 Tassilo Horn <tsdh@gnu.org>
884 893
@@ -922,8 +931,8 @@
9222013-07-08 Tassilo Horn <tsdh@gnu.org> 9312013-07-08 Tassilo Horn <tsdh@gnu.org>
923 932
924 * gnus.texi (lines): Correct description of 933 * gnus.texi (lines): Correct description of
925 `gnus-registry-track-extra's default value. Mention 934 `gnus-registry-track-extra's default value.
926 `gnus-registry-remove-extra-data'. 935 Mention `gnus-registry-remove-extra-data'.
927 936
9282013-07-06 Lars Ingebrigtsen <larsi@gnus.org> 9372013-07-06 Lars Ingebrigtsen <larsi@gnus.org>
929 938
@@ -6284,6 +6293,12 @@
6284 6293
6285 * org.texi: Massive changes, in many parts of the file. 6294 * org.texi: Massive changes, in many parts of the file.
6286 6295
62962008-04-27 Jason Riedy <jason@acm.org>
6297
6298 * org.texi (A LaTeX example): Note that fmt may be a
6299 one-argument function, and efmt may be a two-argument function.
6300 (Radio tables): Document multiple destinations.
6301
62872008-04-13 Reiner Steib <Reiner.Steib@gmx.de> 63022008-04-13 Reiner Steib <Reiner.Steib@gmx.de>
6288 6303
6289 * gnus.texi (Oort Gnus): Add message-fill-column. 6304 * gnus.texi (Oort Gnus): Add message-fill-column.
@@ -6516,6 +6531,10 @@
6516 6531
6517 * tramp.texi (Remote processes): Add `shell-command'. 6532 * tramp.texi (Remote processes): Add `shell-command'.
6518 6533
65342008-02-02 Michael Albinus <michael.albinus@gmx.de>
6535
6536 * tramp.texi: Use new FSF's Back-Cover Text.
6537
65192008-01-28 Michael Sperber <sperber@deinprogramm.de> 65382008-01-28 Michael Sperber <sperber@deinprogramm.de>
6520 6539
6521 * gnus.texi (Mail Source Specifiers): Document `group' specifier. 6540 * gnus.texi (Mail Source Specifiers): Document `group' specifier.
@@ -6616,7 +6635,7 @@
6616 6635
66172007-12-29 Jay Belanger <jay.p.belanger@gmail.com> 66362007-12-29 Jay Belanger <jay.p.belanger@gmail.com>
6618 6637
6619 * calc.tex (Yacas Language, Maxima Language, Giac Language): 6638 * calc.texi (Yacas Language, Maxima Language, Giac Language):
6620 New sections. 6639 New sections.
6621 6640
66222007-12-29 Reiner Steib <Reiner.Steib@gmx.de> 66412007-12-29 Reiner Steib <Reiner.Steib@gmx.de>
@@ -6634,6 +6653,10 @@
6634 6653
6635 * trampver.texi: Update release number. 6654 * trampver.texi: Update release number.
6636 6655
66562007-12-22 Richard Stallman <rms@gnu.org>
6657
6658 * cc-mode.texi (Getting Started): Change @ref to @pxref.
6659
66372007-12-22 Michael Albinus <michael.albinus@gmx.de> 66602007-12-22 Michael Albinus <michael.albinus@gmx.de>
6638 6661
6639 * dbus.texi (Type Conversion): Correct input parameters mapping. 6662 * dbus.texi (Type Conversion): Correct input parameters mapping.
@@ -7895,11 +7918,6 @@
7895 * gnus.texi (Batching Agents): Fix example. Reported by Tassilo Horn 7918 * gnus.texi (Batching Agents): Fix example. Reported by Tassilo Horn
7896 <tassilo@member.fsf.org>. 7919 <tassilo@member.fsf.org>.
7897 7920
78982007-01-27 Eli Zaretskii <eliz@gnu.org>
7899
7900 * msdog.texi (ls in Lisp): Document ls-lisp-format-time-list and
7901 ls-lisp-use-localized-time-format.
7902
79032007-01-20 Markus Triska <markus.triska@gmx.at> 79212007-01-20 Markus Triska <markus.triska@gmx.at>
7904 7922
7905 * flymake.texi (Flymake mode): find-file-hook instead of ...-hooks. 7923 * flymake.texi (Flymake mode): find-file-hook instead of ...-hooks.
@@ -8195,7 +8213,6 @@
8195 * faq.texi (Escape sequences in shell output): EMACS is now set 8213 * faq.texi (Escape sequences in shell output): EMACS is now set
8196 to Emacs's absolute file name, not to "t". 8214 to Emacs's absolute file name, not to "t".
8197 (^M in the shell buffer): Likewise. 8215 (^M in the shell buffer): Likewise.
8198 * misc.texi (Interactive Shell): Likewise.
8199 8216
82002006-09-11 Reiner Steib <Reiner.Steib@gmx.de> 82172006-09-11 Reiner Steib <Reiner.Steib@gmx.de>
8201 8218
@@ -8213,6 +8230,10 @@
8213 8230
8214 * smtpmail.texi (Authentication): Mention SSL. 8231 * smtpmail.texi (Authentication): Mention SSL.
8215 8232
82332006-09-03 Diane Murray <disumu@x3y2z1.net>
8234
8235 * erc.texi (Getting Started, Connecting): Change erc-select to erc.
8236
82162006-09-01 Eli Zaretskii <eliz@gnu.org> 82372006-09-01 Eli Zaretskii <eliz@gnu.org>
8217 8238
8218 * rcirc.texi (Internet Relay Chat, Useful IRC commands): 8239 * rcirc.texi (Internet Relay Chat, Useful IRC commands):
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in
index 8b8d8a606c9..b3318ddd183 100644
--- a/doc/misc/Makefile.in
+++ b/doc/misc/Makefile.in
@@ -65,7 +65,7 @@ DOCMISC_W32 = @DOCMISC_W32@
65## Info files to build and install on all platforms. 65## Info files to build and install on all platforms.
66INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \ 66INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \
67 dbus dired-x ebrowse ede ediff edt eieio \ 67 dbus dired-x ebrowse ede ediff edt eieio \
68 emacs-mime epa erc ert eshell eudc efaq \ 68 emacs-mime epa erc ert eshell eudc efaq eww \
69 flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ 69 flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \
70 mairix-el message mh-e newsticker nxml-mode octave-mode \ 70 mairix-el message mh-e newsticker nxml-mode octave-mode \
71 org pcl-cvs pgg rcirc remember reftex sasl \ 71 org pcl-cvs pgg rcirc remember reftex sasl \
@@ -410,6 +410,18 @@ eudc.pdf: $(eudc_deps)
410eudc.html: $(eudc_deps) 410eudc.html: $(eudc_deps)
411 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eudc.texi 411 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eudc.texi
412 412
413eww_deps = ${srcdir}/eww.texi $(emacsdir)/emacsver.texi ${gfdl}
414eww : $(buildinfodir)/eww$(INFO_EXT)
415$(buildinfodir)/eww$(INFO_EXT): $(eww_deps)
416 $(mkinfodir)
417 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eww.texi
418eww.dvi: $(eww_deps)
419 $(ENVADD) $(TEXI2DVI) ${srcdir}/eww.texi
420eww.pdf: $(eww_deps)
421 $(ENVADD) $(TEXI2PDF) ${srcdir}/eww.texi
422eww.html: $(eww_deps)
423 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eww.texi
424
413flymake_deps = ${srcdir}/flymake.texi ${gfdl} 425flymake_deps = ${srcdir}/flymake.texi ${gfdl}
414flymake : $(buildinfodir)/flymake$(INFO_EXT) 426flymake : $(buildinfodir)/flymake$(INFO_EXT)
415$(buildinfodir)/flymake$(INFO_EXT): $(flymake_deps) 427$(buildinfodir)/flymake$(INFO_EXT): $(flymake_deps)
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi
index aacf4fad83e..7ca860486c2 100644
--- a/doc/misc/autotype.texi
+++ b/doc/misc/autotype.texi
@@ -302,7 +302,7 @@ of the same name as the command and can thus be overridden from your
302 Various characters usually appear in pairs. When, for example, you insert 302 Various characters usually appear in pairs. When, for example, you insert
303an open parenthesis, no matter whether you are programming or writing prose, 303an open parenthesis, no matter whether you are programming or writing prose,
304you will surely enter a closing one later. By entering both at the same time 304you will surely enter a closing one later. By entering both at the same time
305and leaving the cursor inbetween, Emacs can guarantee you that such 305and leaving the cursor in between, Emacs can guarantee you that such
306parentheses are always balanced. And if you have a non-qwerty keyboard, where 306parentheses are always balanced. And if you have a non-qwerty keyboard, where
307typing some of the stranger programming language symbols makes you bend your 307typing some of the stranger programming language symbols makes you bend your
308fingers backwards, this can be quite relieving too. 308fingers backwards, this can be quite relieving too.
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index 10c863a9513..1700aee9dc1 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -28053,8 +28053,8 @@ radiation related to the cesium-133 atom. The only SI unit that is not
28053based on a fundamental physical process (although there are efforts to 28053based on a fundamental physical process (although there are efforts to
28054change this) is the kilogram, which was originally defined as the mass 28054change this) is the kilogram, which was originally defined as the mass
28055of one liter of water, but is now defined as the mass of the 28055of one liter of water, but is now defined as the mass of the
28056International Prototype Kilogram (IPK), a cylinder of platinum-iridium 28056international prototype of the kilogram (IPK), a cylinder of platinum-iridium
28057kept at the Bureau International des Poids et Mesures in S@`evres, 28057kept at the Bureau international des poids et mesures in S@`evres,
28058France. (There are several copies of the IPK throughout the world.) 28058France. (There are several copies of the IPK throughout the world.)
28059The British imperial units, once defined in terms of physical objects, 28059The British imperial units, once defined in terms of physical objects,
28060were redefined in 1963 in terms of SI units. The US customary units, 28060were redefined in 1963 in terms of SI units. The US customary units,
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index 08f9610e594..0490cf639ac 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -1282,13 +1282,8 @@ cells of symbols rather than on the value cells. Each @var{binding}
1282must be a list of the form @samp{(@var{name} @var{arglist} 1282must be a list of the form @samp{(@var{name} @var{arglist}
1283@var{forms}@dots{})}, which defines a function exactly as if 1283@var{forms}@dots{})}, which defines a function exactly as if
1284it were a @code{cl-defun} form. The function @var{name} is defined 1284it were a @code{cl-defun} form. The function @var{name} is defined
1285accordingly for the duration of the body of the @code{cl-flet}; then 1285accordingly but only within the body of the @code{cl-flet}, hiding any external
1286the old function definition, or lack thereof, is restored. 1286definition if applicable.
1287
1288You can use @code{cl-flet} to disable or modify the behavior of
1289functions (including Emacs primitives) in a temporary, localized fashion.
1290(Compare this with the idea of advising functions.
1291@xref{Advising Functions,,,elisp,GNU Emacs Lisp Reference Manual}.)
1292 1287
1293The bindings are lexical in scope. This means that all references to 1288The bindings are lexical in scope. This means that all references to
1294the named functions must appear physically within the body of the 1289the named functions must appear physically within the body of the
diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi
new file mode 100644
index 00000000000..b84de7509da
--- /dev/null
+++ b/doc/misc/eww.texi
@@ -0,0 +1,254 @@
1\input texinfo @c -*-texinfo-*-
2@c %**start of header
3@setfilename ../../info/eww
4@settitle Emacs Web Wowser
5@documentencoding UTF-8
6@c @include emacsver.texi
7@c %**end of header
8
9@copying
10This file documents the GNU Emacs Web Wowser (EWW) package.
11
12Copyright @copyright{} 2014 Free Software Foundation, Inc.
13
14@quotation
15Permission is granted to copy, distribute and/or modify this document
16under the terms of the GNU Free Documentation License, Version 1.3 or
17any later version published by the Free Software Foundation; with no
18Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
19and with the Back-Cover Texts as in (a) below. A copy of the license
20is included in the section entitled ``GNU Free Documentation License.''
21
22(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
23modify this GNU manual.''
24@end quotation
25@end copying
26
27@dircategory Emacs misc features
28@direntry
29* EWW: (eww). Emacs Web Wowser
30@end direntry
31
32@finalout
33
34@titlepage
35@title Emacs Web Wowser (EWW)
36@subtitle A web browser for GNU Emacs.
37
38@page
39@vskip 0pt plus 1filll
40@insertcopying
41@end titlepage
42
43@contents
44
45@ifnottex
46@node Top
47@top EWW
48
49@insertcopying
50@end ifnottex
51
52@menu
53* Overview::
54* Basics::
55* Advanced::
56
57Appendices
58* History and Acknowledgments::
59* GNU Free Documentation License:: The license for this documentation.
60
61Indices
62* Key Index::
63* Variable Index::
64* Lisp Function Index::
65* Concept Index::
66@end menu
67
68@node Overview
69@chapter Overview
70@dfn{EWW}, the Emacs Web Wowser, is a web browser for GNU Emacs. It
71can load, parse, and display various web pages using @dfn{shr.el}.
72However a GNU Emacs with @code{libxml2} support is required.
73
74@node Basics
75@chapter Basic Usage
76
77@findex eww
78@findex eww-open-file
79@vindex eww-search-prefix
80@cindex eww
81@cindex Web Browsing
82 You can open a URL or search the web with the command @kbd{M-x eww}.
83If the input doesn't look like a URL or domain name the web will be
84searched via @code{eww-search-prefix}. The default search engine is
85@url{https://duckduckgo.com, DuckDuckGo}. If you want to open a file
86either prefix the path with @code{file://} or use the command @kbd{M-x
87eww-open-file}.
88
89@findex eww-quit
90@findex eww-reload
91@findex eww-copy-page-url
92@kindex q
93@kindex w
94@kindex g
95 If loading the URL was successful the buffer @code{*eww*} is opened
96and the web page is rendered in it. You can leave EWW by pressing
97@kbd{q} or exit the browser by calling @kbd{eww-quit}. To reload the
98web page hit @kbd{g} (@code{eww-reload}). Pressing @kbd{w}
99(@code{eww-copy-page-url}) will copy the current URL to the kill ring.
100
101@findex eww-download
102@vindex eww-download-path
103@kindex d
104@cindex Download
105 A URL under the point can be downloaded with @kbd{d}
106(@code{eww-download}). The file will be written to the directory
107specified in @code{eww-download-path} (Default: @file{~/Downloads/}).
108
109@findex eww-back-url
110@findex eww-forward-url
111@findex eww-list-histories
112@kindex r
113@kindex l
114@kindex H
115@cindex History
116 EWW remembers the URLs you have visited to allow you to go back and
117forth between them. By pressing @kbd{l} (@code{eww-back-url}) you go
118to the previous URL. You can go forward again with @kbd{r}
119(@code{eww-forward-url}). If you want an overview of your browsing
120history press @kbd{H} (@code{eww-list-histories}) to open the history
121buffer @code{*eww history*}. The history is lost when EWW is quit.
122If you want to remember websites you can use bookmarks.
123
124@findex eww-add-bookmark
125@findex eww-list-bookmarks
126@kindex b
127@kindex B
128@cindex Bookmarks
129 EWW allows you to @dfn{bookmark} URLs. Simply hit @kbd{b}
130(@code{eww-add-bookmark}) to store a bookmark for the current website.
131You can view stored bookmarks with @kbd{B}
132(@code{eww-list-bookmarks}). This will open the bookmark buffer
133@code{*eww bookmarks*}.
134
135@findex eww-browse-with-external-browser
136@vindex shr-external-browser
137@vindex eww-use-external-browser-for-content-type
138@kindex &
139@cindex External Browser
140 Although EWW and shr.el do their best to render webpages in GNU
141Emacs some websites use features which can not be properly represented
142or are not implemented (E.g., JavaScript). If you have trouble
143viewing a website with EWW then hit @kbd{&}
144(@code{eww-browse-with-external-browser}) inside the EWW buffer to
145open the website in the external browser specified by
146@code{shr-external-browser}. Some content types, such as video or
147audio content, do not make sense to display in GNU Emacs at all. You
148can tell EWW to open specific content automatically in an external
149browser by customizing
150@code{eww-use-external-browser-for-content-type}.
151
152@node Advanced
153@chapter Advanced
154
155@findex eww-view-source
156@kindex v
157@cindex Viewing Source
158 You can view the source of a website with @kbd{v}
159(@code{eww-view-source}). This will open a new buffer
160@code{*eww-source*} and insert the source. The buffer will be set to
161@code{html-mode} if available.
162
163@findex url-cookie-list
164@kindex C
165@cindex Cookies
166 EWW handles cookies through the @ref{Top, url package, ,url}.
167You can list existing cookies with @kbd{C} (@code{url-cookie-list}).
168For details about the Cookie handling @xref{Cookies,,,url}.
169
170@vindex eww-header-line-format
171@cindex Header
172 The header line of the EWW buffer can be changed by customizing
173@code{eww-header-line-format}. The format replaces @code{%t} with the
174title of the website and @code{%u} with the URL.
175
176@c @vindex shr-bullet
177@c @vindex shr-hr-line
178@c @vindex eww-form-checkbox-selected-symbol
179@c @vindex eww-form-checkbox-symbol
180@c EWW and the rendering engine shr.el use ASCII characters to
181@c represent some graphical elements, such as bullet points
182@c (@code{shr-bullet}), check boxes
183@c (@code{eww-form-checkbox-selected-symbol} and
184@c @code{eww-form-checkbox-symbol}), and horizontal rules
185@c @code{shr-hr-line}). Depending on your fonts these characters can be
186@c replaced by Unicode glyphs to achieve better looking results.
187
188@vindex shr-max-image-proportion
189@vindex shr-blocked-images
190@cindex Image Display
191 Loading random images from the web can be problematic due to their
192size or content. By customizing @code{shr-max-image-proportion} you
193can set the maximal image proportion in relation to the window they
194are displayed in. E.g., 0.7 means an image is allowed to take up 70%
195of the width and height. If Emacs supports image scaling (ImageMagick
196support required) then larger images are scaled down. You can block
197specific images completely by customizing @code{shr-blocked-images}.
198
199@node History and Acknowledgments
200@appendix History and Acknowledgments
201
202EWW was originally written by Lars Ingebrigtsen, known for his work on
203Gnus. He started writing an Emacs HTML rendering library,
204@code{shr.el}, to read blogs in Gnus. He eventually added a web
205browser front end and HTML form support. Which resulted in EWW, the
206Emacs Web Wowser. EWW was announced on 16 June 2013:
207@url{http://lars.ingebrigtsen.no/2013/06/16/eww/}.
208
209EWW was then moved from the Gnus repository to GNU Emacs and several
210developers started contributing to it as well. A list of contributors
211at the time of writing this manual:
212
213@itemize @bullet
214@item Daniel Hackney
215@item Eli Zaretskii
216@item Glenn Morris
217@item Ivan Kanis
218@item Juri Linkov
219@item Katsumi Yamaoka
220@item Kenjiro NAKAYAMA
221@item Lars Magne Ingebrigtsen
222@item Leo Liu
223@item Paul Eggert
224@item Rüdiger Sonderfeld
225@item Stefan Monnier
226@item Ted Zlatanov
227@end itemize
228
229@node GNU Free Documentation License
230@chapter GNU Free Documentation License
231@include doclicense.texi
232
233@node Key Index
234@unnumbered Key Index
235
236@printindex ky
237
238@node Variable Index
239@unnumbered Variable Index
240
241@printindex vr
242
243@node Lisp Function Index
244@unnumbered Function Index
245
246@printindex fn
247
248@node Concept Index
249@unnumbered Concept Index
250
251@printindex cp
252
253
254@bye
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 376d2a0ad26..6ad0c26f9ac 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -10229,8 +10229,8 @@ summary buffer, point will just move to this article.
10229If given a positive numerical prefix, fetch that many articles back into 10229If given a positive numerical prefix, fetch that many articles back into
10230the ancestry. If given a negative numerical prefix, fetch just that 10230the ancestry. If given a negative numerical prefix, fetch just that
10231ancestor. So if you say @kbd{3 ^}, Gnus will fetch the parent, the 10231ancestor. So if you say @kbd{3 ^}, Gnus will fetch the parent, the
10232grandparent and the grandgrandparent of the current article. If you say 10232grandparent and the great-grandparent of the current article. If you say
10233@kbd{-3 ^}, Gnus will only fetch the grandgrandparent of the current 10233@kbd{-3 ^}, Gnus will only fetch the great-grandparent of the current
10234article. 10234article.
10235 10235
10236@item A R (Summary) 10236@item A R (Summary)
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi
index a6940781ca7..c4719dcd039 100644
--- a/doc/misc/idlwave.texi
+++ b/doc/misc/idlwave.texi
@@ -591,7 +591,7 @@ slightly from the margin and use only 3 spaces as indentation between
591 591
592Restart Emacs, and re-indent the program we developed in the first part 592Restart Emacs, and re-indent the program we developed in the first part
593of this tutorial with @kbd{C-c h} and @kbd{C-M-\}. You may want to keep 593of this tutorial with @kbd{C-c h} and @kbd{C-M-\}. You may want to keep
594these lines in @file{.emacs}, with values adjusted to your likings. If 594these lines in @file{.emacs}, with values adjusted to your liking. If
595you want to get more information about any of these variables, type, 595you want to get more information about any of these variables, type,
596e.g., @kbd{C-h v idlwave-main-block-indent @key{RET}}. To find which 596e.g., @kbd{C-h v idlwave-main-block-indent @key{RET}}. To find which
597variables can be customized, look for items marked @samp{User Option:} 597variables can be customized, look for items marked @samp{User Option:}
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index bfd765dd211..d92fb8a55e0 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,7 +3,7 @@
3% Load plain if necessary, i.e., if running under initex. 3% Load plain if necessary, i.e., if running under initex.
4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5% 5%
6\def\texinfoversion{2013-09-11.11} 6\def\texinfoversion{2014-01-06.16}
7% 7%
8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -1138,10 +1138,12 @@ output) for that.)}
1138 1138
1139\ifpdf 1139\ifpdf
1140 % 1140 %
1141 % Color manipulation macros based on pdfcolor.tex, 1141 % Color manipulation macros using ideas from pdfcolor.tex,
1142 % except using rgb instead of cmyk; the latter is said to render as a 1142 % except using rgb instead of cmyk; the latter is said to render as a
1143 % very dark gray on-screen and a very dark halftone in print, instead 1143 % very dark gray on-screen and a very dark halftone in print, instead
1144 % of actual black. 1144 % of actual black. The dark red here is dark enough to print on paper as
1145 % nearly black, but still distinguishable for online viewing. We use
1146 % black by default, though.
1145 \def\rgbDarkRed{0.50 0.09 0.12} 1147 \def\rgbDarkRed{0.50 0.09 0.12}
1146 \def\rgbBlack{0 0 0} 1148 \def\rgbBlack{0 0 0}
1147 % 1149 %
@@ -1251,10 +1253,9 @@ output) for that.)}
1251 % used to mark target names; must be expandable. 1253 % used to mark target names; must be expandable.
1252 \def\pdfmkpgn#1{#1} 1254 \def\pdfmkpgn#1{#1}
1253 % 1255 %
1254 % by default, use a color that is dark enough to print on paper as 1256 % by default, use black for everything.
1255 % nearly black, but still distinguishable for online viewing. 1257 \def\urlcolor{\rgbBlack}
1256 \def\urlcolor{\rgbDarkRed} 1258 \def\linkcolor{\rgbBlack}
1257 \def\linkcolor{\rgbDarkRed}
1258 \def\endlink{\setcolor{\maincolor}\pdfendlink} 1259 \def\endlink{\setcolor{\maincolor}\pdfendlink}
1259 % 1260 %
1260 % Adding outlines to PDF; macros for calculating structure of outlines 1261 % Adding outlines to PDF; macros for calculating structure of outlines
@@ -2574,37 +2575,21 @@ end
2574\let\file=\code 2575\let\file=\code
2575\let\option=\code 2576\let\option=\code
2576 2577
2577% @uref (abbreviation for `urlref') takes an optional (comma-separated) 2578% @uref (abbreviation for `urlref') aka @url takes an optional
2578% second argument specifying the text to display and an optional third 2579% (comma-separated) second argument specifying the text to display and
2579% arg as text to display instead of (rather than in addition to) the url 2580% an optional third arg as text to display instead of (rather than in
2580% itself. First (mandatory) arg is the url. 2581% addition to) the url itself. First (mandatory) arg is the url.
2581% (This \urefnobreak definition isn't used now, leaving it for a while 2582
2582% for comparison.) 2583% TeX-only option to allow changing PDF output to show only the second
2583\def\urefnobreak#1{\dourefnobreak #1,,,\finish} 2584% arg (if given), and not the url (which is then just the link target).
2584\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup 2585\newif\ifurefurlonlylink
2585 \unsepspaces
2586 \pdfurl{#1}%
2587 \setbox0 = \hbox{\ignorespaces #3}%
2588 \ifdim\wd0 > 0pt
2589 \unhbox0 % third arg given, show only that
2590 \else
2591 \setbox0 = \hbox{\ignorespaces #2}%
2592 \ifdim\wd0 > 0pt
2593 \ifpdf
2594 \unhbox0 % PDF: 2nd arg given, show only it
2595 \else
2596 \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
2597 \fi
2598 \else
2599 \code{#1}% only url given, so show it
2600 \fi
2601 \fi
2602 \endlink
2603\endgroup}
2604 2586
2605% This \urefbreak definition is the active one. 2587% The main macro is \urefbreak, which allows breaking at expected
2588% places within the url. (There used to be another version, which
2589% didn't support automatic breaking.)
2606\def\urefbreak{\begingroup \urefcatcodes \dourefbreak} 2590\def\urefbreak{\begingroup \urefcatcodes \dourefbreak}
2607\let\uref=\urefbreak 2591\let\uref=\urefbreak
2592%
2608\def\dourefbreak#1{\urefbreakfinish #1,,,\finish} 2593\def\dourefbreak#1{\urefbreakfinish #1,,,\finish}
2609\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example 2594\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example
2610 \unsepspaces 2595 \unsepspaces
@@ -2613,12 +2598,19 @@ end
2613 \ifdim\wd0 > 0pt 2598 \ifdim\wd0 > 0pt
2614 \unhbox0 % third arg given, show only that 2599 \unhbox0 % third arg given, show only that
2615 \else 2600 \else
2616 \setbox0 = \hbox{\ignorespaces #2}% 2601 \setbox0 = \hbox{\ignorespaces #2}% look for second arg
2617 \ifdim\wd0 > 0pt 2602 \ifdim\wd0 > 0pt
2618 \ifpdf 2603 \ifpdf
2619 \unhbox0 % PDF: 2nd arg given, show only it 2604 \ifurefurlonlylink
2605 % PDF plus option to not display url, show just arg
2606 \unhbox0
2607 \else
2608 % PDF, normally display both arg and url for consistency,
2609 % visibility, if the pdf is eventually used to print, etc.
2610 \unhbox0\ (\urefcode{#1})%
2611 \fi
2620 \else 2612 \else
2621 \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url 2613 \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
2622 \fi 2614 \fi
2623 \else 2615 \else
2624 \urefcode{#1}% only url given, so show it 2616 \urefcode{#1}% only url given, so show it
@@ -3691,7 +3683,7 @@ end
3691 \parskip=\smallskipamount 3683 \parskip=\smallskipamount
3692 \ifdim\parskip=0pt \parskip=2pt \fi 3684 \ifdim\parskip=0pt \parskip=2pt \fi
3693 % 3685 %
3694 % Try typesetting the item mark that if the document erroneously says 3686 % Try typesetting the item mark so that if the document erroneously says
3695 % something like @itemize @samp (intending @table), there's an error 3687 % something like @itemize @samp (intending @table), there's an error
3696 % right away at the @itemize. It's not the best error message in the 3688 % right away at the @itemize. It's not the best error message in the
3697 % world, but it's better than leaving it to the @item. This means if 3689 % world, but it's better than leaving it to the @item. This means if
@@ -8342,8 +8334,8 @@ end
8342% 8334%
8343% Auto-number footnotes. Otherwise like plain. 8335% Auto-number footnotes. Otherwise like plain.
8344\gdef\footnote{% 8336\gdef\footnote{%
8345 \let\indent=\ptexindent 8337 %\let\indent=\ptexindent
8346 \let\noindent=\ptexnoindent 8338 %\let\noindent=\ptexnoindent
8347 \global\advance\footnoteno by \@ne 8339 \global\advance\footnoteno by \@ne
8348 \edef\thisfootno{$^{\the\footnoteno}$}% 8340 \edef\thisfootno{$^{\the\footnoteno}$}%
8349 % 8341 %
diff --git a/etc/ChangeLog b/etc/ChangeLog
index d952550832e..7af5d65092f 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,7 +1,27 @@
12014-01-10 Glenn Morris <rgm@gnu.org>
2
3 * ORDERS: Replace contents with pointer to emacs.info, mark obsolete.
4
5 * FTP: Mark as obsolete.
6
72014-01-09 David Engster <deng@randomsample.de>
8
9 * NEWS: Added new `describe-function' EIEIO support.
10
112014-01-09 Glenn Morris <rgm@gnu.org>
12
13 * SERVICE: Mark as obsolete.
14
15 * MORE.STUFF: Replace contents with pointer to efaq.info.
16
172014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
18
19 * NEWS: Better document the speed up, slow down, or reverse
20 animation in Image Mode.
21
12014-01-05 Tassilo Horn <tsdh@gnu.org> 222014-01-05 Tassilo Horn <tsdh@gnu.org>
2 23
3 * themes/tsdh-light-theme.el (tsdh-light): Define org-level-* 24 * themes/tsdh-light-theme.el (tsdh-light): Define org-level-* faces.
4 faces.
5 25
62013-12-29 Paul Eggert <eggert@cs.ucla.edu> 262013-12-29 Paul Eggert <eggert@cs.ucla.edu>
7 27
@@ -2567,7 +2587,7 @@
2567 * refcards/calccard.ps, refcards/cs-dired-ref.ps: 2587 * refcards/calccard.ps, refcards/cs-dired-ref.ps:
2568 * refcards/cs-refcard.ps, refcards/de-refcard.ps, refcards/dired-ref.ps: 2588 * refcards/cs-refcard.ps, refcards/de-refcard.ps, refcards/dired-ref.ps:
2569 * refcards/fr-drdref.ps, refcards/fr-refcard.ps: 2589 * refcards/fr-drdref.ps, refcards/fr-refcard.ps:
2570 * refcards/gnus-booklet.ps, refcards/gnus-logo.ps: 2590 * refcards/gnus-booklet.ps:
2571 * refcards/gnus-refcard.ps, refcards/orgcard.ps, refcards/pl-refcard.ps: 2591 * refcards/gnus-refcard.ps, refcards/orgcard.ps, refcards/pl-refcard.ps:
2572 * refcards/pt-br-refcard.ps, refcards/refcard.ps: 2592 * refcards/pt-br-refcard.ps, refcards/refcard.ps:
2573 * refcards/ru-refcard.ps, refcards/sk-dired-ref.ps: 2593 * refcards/ru-refcard.ps, refcards/sk-dired-ref.ps:
@@ -3107,7 +3127,7 @@
3107 3127
31082007-01-20 Glenn Morris <rgm@gnu.org> 31282007-01-20 Glenn Morris <rgm@gnu.org>
3109 3129
3110 * cd-dired-ref.tex (versionemacs): New def. 3130 * cs-dired-ref.tex (versionemacs): New def.
3111 * cs-refcard.tex (versionemacs, versionyear): New defs. 3131 * cs-refcard.tex (versionemacs, versionyear): New defs.
3112 * cs-survival.tex (versionemacs, versiondate): New defs. 3132 * cs-survival.tex (versionemacs, versiondate): New defs.
3113 * de-refcard.tex (versionemacs, versionyear): New defs. 3133 * de-refcard.tex (versionemacs, versionyear): New defs.
@@ -3286,10 +3306,6 @@
3286 * PROBLEMS (are): Emacs compiled with Gtk+ crashes when closing a 3306 * PROBLEMS (are): Emacs compiled with Gtk+ crashes when closing a
3287 display (x-close-connection). 3307 display (x-close-connection).
3288 3308
32892006-09-03 Diane Murray <disumu@x3y2z1.net>
3290
3291 * erc.texi (Getting Started, Connecting): Change erc-select to erc.
3292
32932006-09-02 Juri Linkov <juri@jurta.org> 33092006-09-02 Juri Linkov <juri@jurta.org>
3294 3310
3295 * HELLO: Regroup Europe Non-ASCII examples by similar scripts. 3311 * HELLO: Regroup Europe Non-ASCII examples by similar scripts.
diff --git a/etc/FTP b/etc/FTP
index 0337d464c30..2fcfa22c55c 100644
--- a/etc/FTP
+++ b/etc/FTP
@@ -1,6 +1,9 @@
1For information about how to obtain GNU Emacs and other GNU software 1For information about how to download GNU Emacs, please see:
2by FTP, please see <http://www.gnu.org/order/ftp.html>. 2<http://www.gnu.org/software/emacs/>
3 3
4Information about Emacs is also available at 4For general GNU software downloading, please see
5<http://www.gnu.org/software/emacs/>. 5<http://www.gnu.org/order/ftp.html>
6 6
7Note added January 2014:
8This file is obsolete and will be removed in future.
9Please update any links to use the above URLs.
diff --git a/etc/MAILINGLISTS b/etc/MAILINGLISTS
index ec3ce3bc72f..0d5ce9bf6ce 100644
--- a/etc/MAILINGLISTS
+++ b/etc/MAILINGLISTS
@@ -19,24 +19,6 @@ gnu.emacs.help; gnu-emacs-sources, to gnu.emacs.sources. Replacing
19`emacs' with some other program in those four examples shows you 19`emacs' with some other program in those four examples shows you
20the whole pattern. 20the whole pattern.
21 21
22If you don't know if your site is on USENET, ask your system
23administrator. If you are a USENET site and don't get the gnu.all
24newsgroups, please ask your USENET administrator to get them. If he has
25your feeds ask their feeds, you should win. And everyone else wins:
26newsgroups make better use of the limited bandwidth of the computer
27networks and your home machine than mailing list traffic; and staying
28off the mailing lists make better use of the people who maintain the
29lists and the machines that the GNU people working with rms use (i.e. we
30have more time to produce code!!). Thanx.
31
32* Getting the mailing lists directly
33
34If several users at your site or local network want to read a list and
35you aren't a USENET site, Project GNU would prefer that you would set up
36one address that redistributes locally. This reduces overhead on our
37people and machines, your gateway machine, and the network(s) used to
38transport the mail from us to you.
39
40* How to subscribe to and report bugs in mailing lists 22* How to subscribe to and report bugs in mailing lists
41 23
42Send requests to be added or removed, to help-gnu-emacs-request (or 24Send requests to be added or removed, to help-gnu-emacs-request (or
@@ -48,8 +30,7 @@ If you need to report problems to a human, send mail to gnu@gnu.org
48explaining the problem. 30explaining the problem.
49 31
50Many of the GNU mailing lists are very large and are received by many 32Many of the GNU mailing lists are very large and are received by many
51people. Most are unmoderated, so please don't send them anything that 33people.
52is not seriously important to all their readers.
53 34
54If a message you mail to a list is returned from a MAILER-DAEMON (often 35If a message you mail to a list is returned from a MAILER-DAEMON (often
55with the line: 36with the line:
@@ -72,25 +53,11 @@ activities in Cambridge and elsewhere can be directed to:
72 53
73* General Information about all lists 54* General Information about all lists
74 55
75Please keep each message under 25,000 characters. Some mailers bounce 56Do not send very large files to mailing lists; instead put then on a web
76messages that are longer than this. If your message is long, it is 57page and announce the URL. Good bug reports are short.
77generally better to send a message offering to make the large file
78available to only those people who want it (e.g. mailing it to people
79who ask, or putting it up for FTP). In the case of gnu.emacs.sources,
80somewhat larger postings (up to 10 parts of no more than 25,000
81characters each) are acceptable (assuming they are likely to be of
82interest to a reasonable number of people); if it is larger than that,
83put it in a web page and announce its URL. Good bug reports are short.
84See section '* General Information about bug-* lists and ...' for 58See section '* General Information about bug-* lists and ...' for
85further details. 59further details.
86 60
87Most of the time, when you reply to a message sent to a list, the reply
88should not go to the list. But most mail reading programs supply, by
89default, all the recipients of the original as recipients of the reply.
90Make a point of deleting the list address from the header when it does
91not belong. This prevents bothering all readers of a list, and reduces
92network congestion.
93
94The GNU mailing lists and newsgroups, like the GNU project itself, exist 61The GNU mailing lists and newsgroups, like the GNU project itself, exist
95to promote the freedom to share software. So don't use these lists to 62to promote the freedom to share software. So don't use these lists to
96promote or recommend non-free software or documentation, like 63promote or recommend non-free software or documentation, like
@@ -137,8 +104,8 @@ See section '* General Information about all lists'.
137 104
138If you think something is a bug in a program, it might be one; or, it 105If you think something is a bug in a program, it might be one; or, it
139might be a misunderstanding or even a feature. Before beginning to 106might be a misunderstanding or even a feature. Before beginning to
140report bugs, please read the section ``Reporting Emacs Bugs'' toward the 107report bugs, please read the section ``Reporting Bugs'' in
141end of the GNU Emacs reference manual (or node Emacs/Bugs in Emacs's 108the GNU Emacs reference manual (or node Bugs in Emacs's
142built-in Info system) for a discussion of how and when to send in bug 109built-in Info system) for a discussion of how and when to send in bug
143reports. For GNU programs other than GNU Emacs, also consult their 110reports. For GNU programs other than GNU Emacs, also consult their
144documentation for their bug reporting procedures. Always include the 111documentation for their bug reporting procedures. Always include the
@@ -168,7 +135,7 @@ overworked; they don't have time to help individuals and still fix the
168bugs and make the improvements that everyone wants. If you want help 135bugs and make the improvements that everyone wants. If you want help
169for yourself in particular, you may have to hire someone. The GNU 136for yourself in particular, you may have to hire someone. The GNU
170project maintains a list of people providing such services. It is 137project maintains a list of people providing such services. It is
171found in <URL:http://www.gnu.org/prep/SERVICE>. 138found at <URL:http://www.fsf.org/resources/service>.
172 139
173Anything addressed to the implementers and maintainers of a GNU program 140Anything addressed to the implementers and maintainers of a GNU program
174via a bug-* list, should NOT be sent to the corresponding info-* or 141via a bug-* list, should NOT be sent to the corresponding info-* or
@@ -234,48 +201,11 @@ unless they are made by someone you know is well connected with GNU and
234are sure the message is not forged. 201are sure the message is not forged.
235 202
236USENET and gnUSENET readers are expected to have read ALL the articles 203USENET and gnUSENET readers are expected to have read ALL the articles
237in news.announce.newusers before posting. If news.announce.newusers is 204in news.announce.newusers before posting.
238empty at your site, wait (the articles are posted monthly), your posting
239isn't that urgent! Readers on the Internet can anonymous FTP these
240articles from host ftp.uu.net under directory ??
241 205
242Remember, "GNUs Not Unix" and "gnUSENET is Not USENET". We have 206Remember, "GNUs Not Unix" and "gnUSENET is Not USENET". We have
243higher standards! 207higher standards!
244 208
245** guile-sources-request@gnu.org to subscribe to guile-sources
246
247gnUSENET newsgroup: NONE PLANNED
248Guile source code to: guile-sources@gnu.org
249
250This list will be for the posting, by their authors, of GUILE, Scheme,
251and C sources and patches that improve Guile. Its contents will be
252reviewed by the FSF for inclusion in future releases of GUILE.
253
254Please do NOT discuss or request source code here. Use bug-guile for
255those purposes. This allows the automatic archiving of sources posted
256to this list.
257
258Please do NOT post such sources to any other GNU mailing list (e.g
259bug-guile) or gnUSENET newsgroups. It's up to each poster to decide
260whether to cross-post to any non-gnUSENET newsgroup.
261
262Please do NOT announce that you have posted source code to guile.sources
263to any other GNU mailing list (e.g. bug-guile) or gnUSENET newsgroups.
264People who want to keep up with sources will read this list. It's up to
265each poster to decide whether to announce a guile.sources article in any
266non-gnUSENET newsgroup (e.g. comp.emacs or comp.sources.d).
267
268If source or patches that were previously posted or a simple fix is
269requested in bug-guile, please mail it to the requester. Do NOT
270repost it. If you also want something that is requested, send mail to
271the requester asking him to forward it to you. This kind of traffic is
272best handled by e-mail, not by a broadcast medium that reaches millions
273of sites.
274
275If the requested source is very long (>10k bytes) send mail offering to
276send it. This prevents the requester from getting many redundant copies
277and saves network bandwidth.
278
279** gnu-emacs-sources-request@gnu.org to subscribe to gnu-emacs-sources 209** gnu-emacs-sources-request@gnu.org to subscribe to gnu-emacs-sources
280 210
281gnUSENET newsgroup: gnu.emacs.sources 211gnUSENET newsgroup: gnu.emacs.sources
@@ -293,14 +223,14 @@ automatic archiving of sources posted to this list/newsgroup.
293Please do NOT post such sources to any other GNU mailing list (e.g 223Please do NOT post such sources to any other GNU mailing list (e.g
294help-gnu-emacs) or gnUSENET newsgroups (e.g. gnu.emacs.help). It's up 224help-gnu-emacs) or gnUSENET newsgroups (e.g. gnu.emacs.help). It's up
295to each poster to decide whether to cross-post to any non-gnUSENET 225to each poster to decide whether to cross-post to any non-gnUSENET
296newsgroup (e.g. comp.emacs or vmsnet.sources). 226newsgroup (e.g. comp.emacs).
297 227
298Please do NOT announce that you have posted source code to 228Please do NOT announce that you have posted source code to
299gnu.emacs.sources to any other GNU mailing list (e.g. help-gnu-emacs) or 229gnu.emacs.sources to any other GNU mailing list (e.g. help-gnu-emacs) or
300gnUSENET newsgroups (e.g. gnu.emacs.help). People who want to keep up 230gnUSENET newsgroups (e.g. gnu.emacs.help). People who want to keep up
301with sources will read this list/newsgroup. It's up to each poster to 231with sources will read this list/newsgroup. It's up to each poster to
302decide whether to announce a gnu.emacs.sources article in any 232decide whether to announce a gnu.emacs.sources article in any
303non-gnUSENET newsgroup (e.g. comp.emacs or comp.sources.d). 233non-gnUSENET newsgroup (e.g. comp.emacs).
304 234
305If source or patches that were previously posted or a simple fix is 235If source or patches that were previously posted or a simple fix is
306requested in help-gnu-emacs, please mail it to the requester. Do NOT 236requested in help-gnu-emacs, please mail it to the requester. Do NOT
@@ -309,7 +239,7 @@ the requester asking him to forward it to you. This kind of traffic is
309best handled by e-mail, not by a broadcast medium that reaches millions 239best handled by e-mail, not by a broadcast medium that reaches millions
310of sites. 240of sites.
311 241
312If the requested source is very long (>10k bytes) send mail offering to 242If the requested source is very long, send mail offering to
313send it. This prevents the requester from getting many redundant copies 243send it. This prevents the requester from getting many redundant copies
314and saves network bandwidth. 244and saves network bandwidth.
315 245
diff --git a/etc/MORE.STUFF b/etc/MORE.STUFF
index 2db1bac0f49..e3f2c1664c5 100644
--- a/etc/MORE.STUFF
+++ b/etc/MORE.STUFF
@@ -1,205 +1,8 @@
1More Neat Stuff for your Emacs 1More Neat Stuff for your Emacs
2 2
3Copyright (C) 1993, 1999, 2001-2014 Free Software Foundation, Inc. 3Note added January 2014:
4See the end of the file for license conditions.
5
6The easiest way to add more features to your Emacs is to use the command
7M-x list-packages. This contacts the server at <URL:http://elpa.gnu.org>,
8where many Emacs Lisp packages are stored. These are distributed
9separately from Emacs itself for reasons of space, etc. You can browse
10the resulting *Packages* buffer to see what is available, and then
11Emacs can automatically download and install the packages that you
12select. See the section "Emacs Lisp Packages" in the Emacs manual
13for more details.
14
15Below we describe some GNU Emacs programs and resources that are
16maintained by other people. Some of these may become part of the
17Emacs distribution, or GNU ELPA, in the future. Others we unfortunately
18can't distribute, even though they are free software, because we lack
19legal papers for copyright purposes.
20
21Also listed are sites where development versions of some packages
22distributed with Emacs may be found.
23
24It is difficult to keep this file up-to-date, and it only lists a fraction
25of the Emacs modes that are available. If you are interested in
26a particular feature, then after checking Emacs itself and GNU ELPA,
27a web search is often the best way to find results.
28
29* The gnu-emacs-sources mailing list
30 <URL:https://lists.gnu.org/mailman/listinfo/gnu-emacs-sources>
31 which is gatewayed to the gnu.emacs.sources newsgroup (although the
32 connection between the two can be unreliable) is an official
33 place where people can post or announce their extensions to Emacs.
34
35* The `Emacs Lisp List' at
36 <URL:http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html> has pointers
37 to sources of a large number of packages. Unfortunately, at the time
38 of writing it seems to no longer be updating.
39
40* emacswiki.org
41 The Emacs Wiki has an area for storing elisp files
42 <URL:http://www.emacswiki.org/cgi-bin/wiki/ElispArea>.
43
44* WikEmacs
45 <URL:http://wikemacs.org> is an alternative wiki for Emacs.
46
47* Emacs slides and tutorials can be found here:
48 <URL:http://web.psung.name/emacs/>
49
50* Maintenance versions of some packages distributed with Emacs
51
52You might find bug-fixes or enhancements in these places.
53In many cases, however, development of these packages has shifted to Emacs,
54so you will find the latest version in Emacs.
55
56 * Ada-mode: <URL:http://stephe-leake.org/emacs/ada-mode/emacs-ada-mode.html>
57
58 * CC mode: <URL:http://cc-mode.sourceforge.net/>
59
60 * CEDET: <URL:http://cedet.sourceforge.net/>
61
62 * Gnus: <URL:http://www.gnus.org/>
63
64 * MH-E: <URL:http://mh-e.sourceforge.net/>
65
66 * nXML: <URL:http://www.thaiopensource.com/nxml-mode/>
67
68 * Org mode: <URL:http://orgmode.org/>
69
70 * Tramp: Remote file access via rsh/ssh
71 <URL:http://savannah.gnu.org/projects/tramp/>
72
73* GNU Zile: <URL:http://www.gnu.org/software/zile/>
74 A lightweight Emacs clone, for when you don't have room for Emacs proper.
75
76* Packages and add-ons not bundled with Emacs
77
78Various major packages or useful additions aren't distributed as part of
79Emacs for various reasons, sometimes because their authors haven't made
80a copyright assignment to the FSF. Some of them may be integrated in
81the future.
82
83Your operating system distribution may include several of these as optional
84packages that you can install.
85
86 * AUCTeX: <URL:http://www.gnu.org/software/auctex/>
87 An extensible package that supports writing and formatting TeX
88 files (including AMS-TeX, LaTeX, Texinfo, ConTeXt, and docTeX).
89 Includes Preview LaTeX: embed preview LaTeX images in source buffer.
90 Available from GNU ELPA.
91
92 * BBDB: personal Info Rolodex integrated with mail/news:
93 <URL:http://savannah.nongnu.org/projects/bbdb>
94
95 * Boxquote: <URL:http://www.davep.org/emacs/>
96
97 * CJK-emacs: Converting MULE-encoded text to TeX:
98 <URL:ftp://ctan.tug.org/tex-archive/language/chinese/CJK/> and
99 mirrors of the `CTAN' TeX archives.
100
101 * Dismal: spreadsheet:
102 <URL:http://ritter.ist.psu.edu/dismal/dismal.html>
103
104 * ECB: Emacs Code Browser: <URL:http://ecb.sourceforge.net/>
105
106 * EDB: database: <URL:http://www.gnuvola.org/software/edb/>
107
108 * Ee: categorizing information manager:
109 <URL:http://www.jurta.org/en/emacs/ee/>
110
111 * EMacro: <URL:http://emacro.sourceforge.net/>
112 EMacro is a portable configuration file that configures itself.
113
114 * Emacs Muse: <URL:http://mwolson.org/projects/EmacsMuse.html>
115 An authoring and publishing environment for Emacs.
116 Available from GNU ELPA.
117
118 * Emacs speaks statistics (ESS): statistical programming within Emacs
119 <URL:http://ess.r-project.org>
120
121 * Emacspeak -- A Speech Output Subsystem For Emacs:
122 <URL:http://emacspeak.sourceforge.net/>
123
124 * Emacs-w3m : <URL:http://emacs-w3m.namazu.org/>
125 A simple Emacs interface to w3m, which is a text-mode WWW browser
126
127 * Emacs Wiki Mode: <URL:http://mwolson.org/projects/EmacsWikiMode.html>
128 A wiki-like publishing tool and personal information manager
129
130 * Go in a buffer: Go Text Protocol client:
131 <URL:http://www.gnuvola.org/software/personal-elisp/dist/lisp/diversions/gnugo.el>
132 A modified version is also bundled with GNU Go:
133 <URL:http://www.gnu.org/software/gnugo/gnugo.html>
134
135 * Hyperbole:
136 <URL:http://directory.fsf.org/wiki/Hyperbole>
137 Hyperbole is an open, efficient, programmable information
138 management and hypertext system.
139
140 * JDEE: <URL:http://jdee.sourceforge.net/>
141 Provides a Java development environment for Emacs.
142
143 * Mew: <URL:http://www.mew.org/>
144 A MIME mail reader for Emacs/XEmacs.
145
146 * MMM Mode: <URL:http://mmm-mode.sourceforge.net/>
147 MMM Mode is an emacs add-on package providing a minor mode that
148 allows Multiple Major Modes to coexist in one buffer.
149
150 * Planner Mode: <URL:http://www.wjsullivan.net/PlannerMode.html>
151 Planner is an organizer and day planner for Emacs.
152
153 * Quack: <URL:http://www.neilvandyke.org/quack/>
154 Quack enhances Emacs support for Scheme.
155
156 * QWE: <URL:http://www.nongnu.org/qwe/>
157 QWE's not WEB for Emacs is a quasi-WYSIWYG literate programming system for
158 Emacs that can be used with almost every programming language.
159
160 * Session: <URL:http://emacs-session.sourceforge.net/>
161 Session Management for Emacs.
162
163 * SLIME: The Superior Lisp Interaction Mode for Emacs:
164 <URL:http://common-lisp.net/project/slime/>
165
166 * Tamago: Chinese/Japanese/Korean input method
167 <URL:http://www.m17n.org/tamago/index.en.html>
168 Emacs Lisp package to provide input methods for CJK characters.
169
170 * Tiny Tools: <URL:https://savannah.nongnu.org/projects/emacs-tiny-tools>
171
172 * VM (View Mail): Alternative mail reader
173 <URL:http://launchpad.net/vm>
174 Previously hosted at: <URL:http://www.nongnu.org/viewmail/>
175
176 * W3 Web browser: <URL:http://savannah.gnu.org/projects/w3/>
177
178 * Wanderlust: <URL:http://www.gohome.org/wl/>
179 Wanderlust is a mail/news reader for Emacs.
180
181 * WhizzyTex: <URL:http://cristal.inria.fr/whizzytex/>
182 WhizzyTeX provides a minor mode for Emacs or XEmacs, a (bash)
183 shell-script daemon and some LaTeX macros.
184
185Local Variables:
186mode: text
187eval: (view-mode 1)
188eval: (goto-address-mode 1)
189End:
190
191This file is part of GNU Emacs.
192
193GNU Emacs is free software: you can redistribute it and/or modify
194it under the terms of the GNU General Public License as published by
195the Free Software Foundation, either version 3 of the License, or
196(at your option) any later version.
197
198GNU Emacs is distributed in the hope that it will be useful,
199but WITHOUT ANY WARRANTY; without even the implied warranty of
200MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
201GNU General Public License for more details.
202
203You should have received a copy of the GNU General Public License
204along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
205 4
5This file is obsolete and will be removed in future.
6Please update any links to use
7 info node `(efaq)Packages that do not come with Emacs'
8instead.
diff --git a/etc/NEWS b/etc/NEWS
index a17944c2abe..9817115918b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -168,11 +168,19 @@ non-nil, they output the same results.
168+++ 168+++
169*** The key `?' now describes prefix bindings, like `C-h'. 169*** The key `?' now describes prefix bindings, like `C-h'.
170 170
171*** The command `describe-function' was extended for EIEIO.
172Running it on constructors will show a full description of the
173generated class. For generic functions, it will show all
174implementations together with links to the source. The old commands
175`describe-class', `describe-constructor' and `describe-generic' were
176removed.
177
171*** The command `quail-help' is deleted. Use `C-h C-\' 178*** The command `quail-help' is deleted. Use `C-h C-\'
172(`describe-input-method') instead. 179(`describe-input-method') instead.
173 180
174** ImageMagick 181** ImageMagick
175 182
183+++
176*** ImageMagick images now support the :max-width and :max-height 184*** ImageMagick images now support the :max-width and :max-height
177keywords. 185keywords.
178 186
@@ -241,6 +249,7 @@ etc. You can customize this to specify a function that provides a
241default value from the regexp last history element, or from the symbol 249default value from the regexp last history element, or from the symbol
242found at point. 250found at point.
243 251
252+++
244*** `load-prefer-newer', affects how the `load' function chooses the 253*** `load-prefer-newer', affects how the `load' function chooses the
245file to load. If this is non-nil, then when both .el and .elc 254file to load. If this is non-nil, then when both .el and .elc
246versions of a file exist, and the caller did not explicitly specify 255versions of a file exist, and the caller did not explicitly specify
@@ -451,6 +460,7 @@ restoring the frame/window configuration (frameset). Additional options
451`desktop-restore-in-current-display', `desktop-restore-reuses-frames' 460`desktop-restore-in-current-display', `desktop-restore-reuses-frames'
452and `desktop-restore-forces-onscreen' offer further customization. 461and `desktop-restore-forces-onscreen' offer further customization.
453 462
463+++
454** Dired 464** Dired
455 465
456*** New minor mode `dired-hide-details-mode' hides details. 466*** New minor mode `dired-hide-details-mode' hides details.
@@ -573,11 +583,17 @@ will revert to the old behavior.
573visit the next image file and the previous image file in the same 583visit the next image file and the previous image file in the same
574directory, respectively. 584directory, respectively.
575 585
586+++
576*** New commands to show specific frames of multi-frame images. 587*** New commands to show specific frames of multi-frame images.
577`f' (`image-next-frame') and `b' (`image-previous-frame') visit the 588`f' (`image-next-frame') and `b' (`image-previous-frame') visit the
578next or previous frame. `F' (`image-goto-frame') shows a specific frame. 589next or previous frame. `F' (`image-goto-frame') shows a specific frame.
579 590
591+++
580*** New commands to speed up, slow down, or reverse animation. 592*** New commands to speed up, slow down, or reverse animation.
593`a +' (`image-increase-speed') and `a -' (`image-decrease-speed') to
594speed up and slow down the animation. `a r' (`image-reverse-speed')
595to reverse it and `a 0' (`image-reset-speed') to reset it.
596
581--- 597---
582*** The command `image-mode-fit-frame' deletes other windows. 598*** The command `image-mode-fit-frame' deletes other windows.
583When toggling, it restores the frame's previous window configuration. 599When toggling, it restores the frame's previous window configuration.
@@ -880,6 +896,7 @@ has not been relevant for some time.
880 896
881* New Modes and Packages in Emacs 24.4 897* New Modes and Packages in Emacs 24.4
882 898
899+++
883** New package `eww' is a built-in web browser. 900** New package `eww' is a built-in web browser.
884It is only available if Emacs is compiled with libxml2 support. 901It is only available if Emacs is compiled with libxml2 support.
885 902
@@ -888,6 +905,7 @@ It is only available if Emacs is compiled with libxml2 support.
888symbol_words as a single word, similar to what `subword-mode' does and 905symbol_words as a single word, similar to what `subword-mode' does and
889using the same internal functions. 906using the same internal functions.
890 907
908+++
891** New package nadvice.el offers lighter-weight advice facilities. 909** New package nadvice.el offers lighter-weight advice facilities.
892It is layered as: 910It is layered as:
893- add-function/remove-function which can be used to add/remove code on any 911- add-function/remove-function which can be used to add/remove code on any
@@ -1087,7 +1105,7 @@ displaying the buffer in a window.
1087*** `hash-table-keys' 1105*** `hash-table-keys'
1088+++ 1106+++
1089*** `hash-table-values' 1107*** `hash-table-values'
1090 1108---
1091*** `string-blank-p` 1109*** `string-blank-p`
1092*** `string-empty-p` 1110*** `string-empty-p`
1093*** `string-join` 1111*** `string-join`
@@ -1126,6 +1144,7 @@ a non-nil `interactive-only' property.
1126The value, if non-nil, is a regexp that specifies what to trim from 1144The value, if non-nil, is a regexp that specifies what to trim from
1127the start and end of each substring. 1145the start and end of each substring.
1128 1146
1147+++
1129** New function `string-suffix-p'. 1148** New function `string-suffix-p'.
1130 1149
1131** File-handling changes 1150** File-handling changes
diff --git a/etc/ORDERS b/etc/ORDERS
index 3998fcae37b..1df755de9f5 100644
--- a/etc/ORDERS
+++ b/etc/ORDERS
@@ -1,12 +1,8 @@
1Printed copies of the GNU Emacs Manual, the Emacs Lisp Reference 1Printed copies of Emacs manuals
2Manual, "Programming in Emacs Lisp: An Introduction", and other
3materials can be ordered directly from the Free Software Foundation.
4 2
5For more information, see the online store at <http://shop.fsf.org/>. 3Note added January 2014:
6 4
7Your purchases will help support further development of Emacs and 5This file is obsolete and will be removed in future.
8other free software programs. 6Please update any links to use
9 7 info node `(emacs)Printed Books'
10You can also make tax-deductible donations to the Free Software 8instead.
11Foundation, a not-for-profit organization (assuming you pay US taxes)
12- see <https://my.fsf.org/donate/>.
diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index a0ed5c9e338..c74506ce3ac 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -1062,7 +1062,7 @@ See http://orgmode.org/elpa/
1062 | =k= | | [[doc::org-agenda-capture][org-agenda-capture]] | 1062 | =k= | | [[doc::org-agenda-capture][org-agenda-capture]] |
1063 | C-c , | , | [[doc::org-priority][org-priority]] | 1063 | C-c , | , | [[doc::org-priority][org-priority]] |
1064 1064
1065** New package and Babel langage 1065** New package and Babel language
1066 1066
1067*** =org-eshell.el= by Konrad Hinsen is now in Org 1067*** =org-eshell.el= by Konrad Hinsen is now in Org
1068 1068
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 6e7fe7d18ce..c3e172ec119 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -357,25 +357,6 @@ The solution is to use gawk (GNU awk).
357 357
358** Problems with hostname resolution 358** Problems with hostname resolution
359 359
360*** Emacs fails to understand most Internet host names, even though
361the names work properly with other programs on the same system.
362*** Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.
363*** Gnus can't make contact with the specified host for nntp.
364
365This typically happens on Suns and other systems that use shared
366libraries. The cause is that the site has installed a version of the
367shared library which uses a name server--but has not installed a
368similar version of the unshared library which Emacs uses.
369
370The result is that most programs, using the shared library, work with
371the nameserver, but Emacs does not.
372
373The fix is to install an unshared library that corresponds to what you
374installed in the shared library, and then relink Emacs.
375
376If you have already installed the name resolver in the file libresolv.a,
377then you need to compile Emacs to use that library.
378
379*** Emacs does not know your host's fully-qualified domain name. 360*** Emacs does not know your host's fully-qualified domain name.
380 361
381For example, (system-name) returns some variation on 362For example, (system-name) returns some variation on
@@ -499,13 +480,6 @@ ftp client. On a Debian system, type
499 480
500and then choose /usr/bin/netkit-ftp. 481and then choose /usr/bin/netkit-ftp.
501 482
502*** JPEG images aren't displayed.
503
504This has been reported when Emacs is built with jpeg-6a library.
505Upgrading to jpeg-6b solves the problem. Configure checks for the
506correct version, but this problem could occur if a binary built
507against a shared libjpeg is run on a system with an older version.
508
509*** Dired is very slow. 483*** Dired is very slow.
510 484
511This could happen if invocation of the `df' program takes a long 485This could happen if invocation of the `df' program takes a long
@@ -570,13 +544,6 @@ to work around the problem.
570 544
571Please refer to the documentation of your dynamic linker for details. 545Please refer to the documentation of your dynamic linker for details.
572 546
573*** You request inverse video, and the first Emacs frame is in inverse
574video, but later frames are not in inverse video.
575
576This can happen if you have an old version of the custom library in
577your search path for Lisp packages. Use M-x list-load-path-shadows to
578check whether this is true. If it is, delete the old custom library.
579
580*** When you run Ispell from Emacs, it reports a "misalignment" error. 547*** When you run Ispell from Emacs, it reports a "misalignment" error.
581 548
582This can happen if you compiled the Ispell program to use ASCII 549This can happen if you compiled the Ispell program to use ASCII
@@ -674,20 +641,6 @@ This is because these fonts contain characters a little taller than
674the font's nominal height. Emacs needs to make sure that lines do not 641the font's nominal height. Emacs needs to make sure that lines do not
675overlap. 642overlap.
676 643
677** Loading fonts is very slow.
678
679You might be getting scalable fonts instead of precomputed bitmaps.
680Known scalable font directories are "Type1" and "Speedo". A font
681directory contains scalable fonts if it contains the file
682"fonts.scale".
683
684If this is so, re-order your X windows font path to put the scalable
685font directories last. See the documentation of `xset' for details.
686
687With some X servers, it may be necessary to take the scalable font
688directories out of your path entirely, at least for Emacs 19.26.
689Changes in the future may make this unnecessary.
690
691** Font Lock displays portions of the buffer in incorrect faces. 644** Font Lock displays portions of the buffer in incorrect faces.
692 645
693By far the most frequent cause of this is a parenthesis `(' or a brace 646By far the most frequent cause of this is a parenthesis `(' or a brace
diff --git a/etc/SERVICE b/etc/SERVICE
index 61a4b950cee..eed62ea60aa 100644
--- a/etc/SERVICE
+++ b/etc/SERVICE
@@ -6,4 +6,6 @@ people who have asked to be listed as offering support services for
6GNU software, including GNU Emacs, for a fee or in some cases at no 6GNU software, including GNU Emacs, for a fee or in some cases at no
7charge. 7charge.
8 8
9 9Note added January 2014:
10This file is obsolete and will be removed in future.
11Please update any links to use the above URL.
diff --git a/etc/echo.msg b/etc/echo.msg
index 00a94b7ae97..53d051f85ef 100644
--- a/etc/echo.msg
+++ b/etc/echo.msg
@@ -69,7 +69,7 @@ DESCRIPTION
69 69
70 -i emulate IBM OS/VU (recursive universes not supported) 70 -i emulate IBM OS/VU (recursive universes not supported)
71 71
72 -I emulate IBM VTOS 3.7.6 (chronosynclastic infundibulae 72 -I emulate IBM VTOS 3.7.6 (chronosynclastic infundibula
73 supported with restrictions documented in IBM VTOS 73 supported with restrictions documented in IBM VTOS
74 74
75 75
@@ -207,4 +207,3 @@ AUTHOR
207 207
208 208
209Printed 10/28/85 18 January 1983 3 209Printed 10/28/85 18 January 1983 3
210
diff --git a/leim/ChangeLog b/leim/ChangeLog
index 1a13c1b66d3..5a10d1c46e4 100644
--- a/leim/ChangeLog
+++ b/leim/ChangeLog
@@ -770,10 +770,10 @@
770 770
7712008-02-01 Dave Love <fx@gnu.org> 7712008-02-01 Dave Love <fx@gnu.org>
772 772
773 * latin-post.el: Recode to utf-8. 773 * quail/latin-post.el: Recode to utf-8.
774 ("latin-postfix"): New method. 774 ("latin-postfix"): New method.
775 775
776 * latin-alt.el: Recode to utf-8. 776 * quail/latin-alt.el: Recode to utf-8.
777 ("latin-alt-postfix"): New method. 777 ("latin-alt-postfix"): New method.
778 778
779 * quail/latin-pre.el: Recode to utf-8. 779 * quail/latin-pre.el: Recode to utf-8.
@@ -2167,11 +2167,11 @@
2167 * Makefile.in: Prepend ${srcdir} to all non-TIT lisp file names. 2167 * Makefile.in: Prepend ${srcdir} to all non-TIT lisp file names.
2168 (leim-list.el): Depend on ${WORLD}. 2168 (leim-list.el): Depend on ${WORLD}.
2169 2169
2170 * latin-alt.el (latin-2-alt-postfix): Doc fix. 2170 * quail/latin-alt.el (latin-2-alt-postfix): Doc fix.
2171 2171
21721998-04-08 Karl Heuer <kwzh@mescaline.gnu.org> 21721998-04-08 Karl Heuer <kwzh@mescaline.gnu.org>
2173 2173
2174 * czech.el, slovak.el: Correct starting commentary. 2174 * quail/czech.el, quail/slovak.el: Correct starting commentary.
2175 2175
21761998-04-07 Milan Zamazal <pdm@fi.muni.cz> 21761998-04-07 Milan Zamazal <pdm@fi.muni.cz>
2177 2177
@@ -2179,7 +2179,7 @@
2179 2179
21801998-04-06 Andreas Schwab <schwab@gnu.org> 21801998-04-06 Andreas Schwab <schwab@gnu.org>
2181 2181
2182 * lrt.el (lrt-composing-pattern-double-c): Change chars-in-string 2182 * quail/lrt.el (lrt-composing-pattern-double-c): Change chars-in-string
2183 to length. 2183 to length.
2184 (lrt-generate-quail-map): Change sref to aref, and make second 2184 (lrt-generate-quail-map): Change sref to aref, and make second
2185 argument of substring a character index. 2185 argument of substring a character index.
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 401dc6a1c7e..795dec24bf1 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -3,6 +3,61 @@
3 * mail/rmail.el (rmail-get-coding-system): Check 3 * mail/rmail.el (rmail-get-coding-system): Check
4 rmail-get-coding-function before "funcall"ing it. 4 rmail-get-coding-function before "funcall"ing it.
5 5
62014-01-10 Glenn Morris <rgm@gnu.org>
7
8 * emacs-lisp/authors.el (authors-fixed-entries):
9 Update for files that no longer exist.
10
112014-01-10 Eric S. Raymond <esr@thyrsus.com>
12
13 * version.el (emacs-bzr-get-version): Restore compatibilty with
14 24.3 (Tested).
15
162014-01-10 Bozhidar Batsov <bozhidar@batsov.com>
17
18 * progmodes/ruby-mode.el (auto-mode-alist): Add .podspec
19 and Podfile.
20
212014-01-10 Eli Zaretskii <eliz@gnu.org>
22
23 * emacs-lisp/authors.el (authors-fixed-entries): Update my entry.
24
252014-01-10 Chong Yidong <cyd@gnu.org>
26
27 * progmodes/octave.el (octave-mode-menu): Don't assume eldoc is
28 loaded.
29
302014-01-10 Anders Lindgren <andlind@gmail.com>
31
32 * follow.el (follow-cache-command-list): Include right-char and
33 left-char.
34
352014-01-10 Paul Eggert <eggert@cs.ucla.edu>
36
37 Spelling fixes.
38 * mail/unrmail.el (unrmail-mbox-format): Choice is mboxo, not mboxro.
39 * woman.el (woman-mark-horizontal-position):
40 Rename from woman-mark-horizonal-position. Use changed.
41
422014-01-10 Glenn Morris <rgm@gnu.org>
43
44 * info.el (info-initialize): If running uninstalled, ensure our
45 own info files are always found first, even if INFOPATH is set.
46
47 * help.el (view-order-manuals): Open emacs.info rather than ORDERS.
48
492014-01-09 David Engster <deng@randomsample.de>
50
51 * emacs-lisp/eieio-custom.el:
52 * emacs-lisp/eieio-opt.el: Set generated autoload file to
53 'eieio.el'. This was accidentally removed in 2012-10-01T18:10:29Z!cyd@gnu.org.
54 * emacs-lisp/eieio.el: Regenerate autoloads.
55
562014-01-09 Eric S. Raymond <esr@thyrsus.com>
57
58 * vc/vc-git.el (vc-git-print-log): Add --follow option to command,
59 following renames. (Bug#8756)
60
62014-01-09 Stefan Monnier <monnier@iro.umontreal.ca> 612014-01-09 Stefan Monnier <monnier@iro.umontreal.ca>
7 62
8 * simple.el (deactivate-mark, activate-mark): Force-mode-line-update 63 * simple.el (deactivate-mark, activate-mark): Force-mode-line-update
@@ -19,7 +74,7 @@
19 * version.el (emacs-bzr-version): Name changed to 74 * version.el (emacs-bzr-version): Name changed to
20 emacs-repository-version. Obsolete-variable alias made. 75 emacs-repository-version. Obsolete-variable alias made.
21 * loadup.el: Follow through on this name change. 76 * loadup.el: Follow through on this name change.
22 * lisp/mail/emacsbug.el (report-emacs-bug): Factor out any 77 * mail/emacsbug.el (report-emacs-bug): Factor out any
23 assumption about the version control system in use. 78 assumption about the version control system in use.
24 79
252014-01-08 David Engster <deng@randomsample.de> 802014-01-08 David Engster <deng@randomsample.de>
@@ -3371,7 +3426,7 @@
3371 3426
33722013-10-17 Barry O'Reilly <gundaetiapo@gmail.com> 34272013-10-17 Barry O'Reilly <gundaetiapo@gmail.com>
3373 3428
3374 * lisp/subr.el (sit-for): Call (input-pending-p t) so as to behave 3429 * subr.el (sit-for): Call (input-pending-p t) so as to behave
3375 as before. 3430 as before.
3376 3431
33772013-10-18 Reuben Thomas <rrt@sc3d.org> 34322013-10-18 Reuben Thomas <rrt@sc3d.org>
@@ -4144,13 +4199,13 @@
4144 4199
41452013-09-28 Rüdiger Sonderfeld <ruediger@c-plusplus.de> 42002013-09-28 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
4146 4201
4147 * lisp/progmodes/octave.el (octave-mode-map): Bind octave-send-buffer. 4202 * progmodes/octave.el (octave-mode-map): Bind octave-send-buffer.
4148 (octave-mode-menu): Add octave-send-buffer. 4203 (octave-mode-menu): Add octave-send-buffer.
4149 (octave-send-buffer): New function. 4204 (octave-send-buffer): New function.
4150 4205
41512013-09-28 Rüdiger Sonderfeld <ruediger@c-plusplus.de> 42062013-09-28 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
4152 4207
4153 * lisp/progmodes/octave.el (octave-mode-map): Add key binding for 4208 * progmodes/octave.el (octave-mode-map): Add key binding for
4154 octave-lookfor. 4209 octave-lookfor.
4155 (octave-mode-menu): Add octave-lookfor. 4210 (octave-mode-menu): Add octave-lookfor.
4156 (inferior-octave-mode-map, octave-help-mode-map): Bind C-ha to 4211 (inferior-octave-mode-map, octave-help-mode-map): Bind C-ha to
@@ -6152,7 +6207,7 @@
6152 * isearch.el (isearch-done): 6207 * isearch.el (isearch-done):
6153 * jit-lock.el (jit-lock-stealth-fontify): 6208 * jit-lock.el (jit-lock-stealth-fontify):
6154 * mail/rmailsum.el (rmail-summary-scroll-msg-up): 6209 * mail/rmailsum.el (rmail-summary-scroll-msg-up):
6155 * lisp/mouse-drag.el (mouse-drag-should-do-col-scrolling): 6210 * mouse-drag.el (mouse-drag-should-do-col-scrolling):
6156 * mpc.el (mpc-tagbrowser, mpc): 6211 * mpc.el (mpc-tagbrowser, mpc):
6157 * net/rcirc.el (rcirc-any-buffer): 6212 * net/rcirc.el (rcirc-any-buffer):
6158 * play/gomoku.el (gomoku-max-width, gomoku-max-height): 6213 * play/gomoku.el (gomoku-max-width, gomoku-max-height):
@@ -7523,12 +7578,12 @@
7523 7578
7524 * files.el (find-file-noselect): Simplify conditional expression. 7579 * files.el (find-file-noselect): Simplify conditional expression.
7525 7580
7526 * remember.el (remember-append-to-file): 7581 * textmodes/remember.el (remember-append-to-file):
7527 Don't mix `find-buffer-visiting' and `get-file-buffer'. 7582 Don't mix `find-buffer-visiting' and `get-file-buffer'.
7528 7583
7529 Add `remember-notes' function to store random notes across Emacs 7584 Add `remember-notes' function to store random notes across Emacs
7530 restarts. 7585 restarts.
7531 * remember.el (remember-data-file): Add :set callback to affect 7586 * textmodes/remember.el (remember-data-file): Add :set callback to affect
7532 notes buffer (if any). 7587 notes buffer (if any).
7533 (remember-notes): New command. 7588 (remember-notes): New command.
7534 (remember-notes-buffer-name, bury-remember-notes-on-kill): 7589 (remember-notes-buffer-name, bury-remember-notes-on-kill):
@@ -9106,7 +9161,7 @@
9106 9161
91072013-06-05 Stefan Monnier <monnier@iro.umontreal.ca> 91622013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
9108 9163
9109 * lisp/subr.el: Convert to lexical binding. 9164 * subr.el: Convert to lexical binding.
9110 (overriding-local-map): Make obsolete. 9165 (overriding-local-map): Make obsolete.
9111 (add-to-list): Doc fix. Add compiler macro. 9166 (add-to-list): Doc fix. Add compiler macro.
9112 (read-key): Swap values of local maps. 9167 (read-key): Swap values of local maps.
@@ -9761,16 +9816,16 @@
9761 9816
97622013-05-23 Rüdiger Sonderfeld <ruediger@c-plusplus.de> 98172013-05-23 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
9763 9818
9764 * lisp/textmodes/reftex.el (reftex-ref-style-toggle): 9819 * textmodes/reftex.el (reftex-ref-style-toggle):
9765 Fix deactivate action. 9820 Fix deactivate action.
9766 9821
9767 * lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): 9822 * textmodes/reftex-vars.el (reftex-ref-style-alist):
9768 Add cleveref macros. 9823 Add cleveref macros.
9769 9824
9770 * lisp/textmodes/reftex-parse.el 9825 * textmodes/reftex-parse.el
9771 (reftex-locate-bibliography-files): Accept options for 9826 (reftex-locate-bibliography-files): Accept options for
9772 bibliography commands. 9827 bibliography commands.
9773 * lisp/textmodes/reftex-vars.el (reftex-bibliography-commands): 9828 * textmodes/reftex-vars.el (reftex-bibliography-commands):
9774 Add addbibresource. Basic Biblatex support. 9829 Add addbibresource. Basic Biblatex support.
9775 9830
97762013-05-23 Michael Albinus <michael.albinus@gmx.de> 98312013-05-23 Michael Albinus <michael.albinus@gmx.de>
diff --git a/lisp/ChangeLog.10 b/lisp/ChangeLog.10
index ab6923bfd1c..b70ca7734e7 100644
--- a/lisp/ChangeLog.10
+++ b/lisp/ChangeLog.10
@@ -67,8 +67,8 @@
67 * progmodes/cc-awk.el: New file that implements AWK support, 67 * progmodes/cc-awk.el: New file that implements AWK support,
68 superseding the old separate derived mode in awk-mode.el. 68 superseding the old separate derived mode in awk-mode.el.
69 69
70 * progmodes/cc-vars.el, cc-mode-19.el, progmodes/cc-langs.el, 70 * progmodes/cc-vars.el, progmodes/cc-mode-19.el, progmodes/cc-langs.el:
71 * progmodes/cc-mode.el, progmodes/cc-defs.el, 71 * progmodes/cc-mode.el, progmodes/cc-defs.el:
72 * progmodes/cc-engine.el, progmodes/cc-fonts.el: 72 * progmodes/cc-engine.el, progmodes/cc-fonts.el:
73 Changes for the new AWK support. 73 Changes for the new AWK support.
74 74
@@ -4486,7 +4486,7 @@
4486 4486
44872003-03-26 Steve Youngs <youngs@xemacs.org> 44872003-03-26 Steve Youngs <youngs@xemacs.org>
4488 4488
4489 * em-unix.el (eshell-plain-locate-behavior): Make the default 4489 * eshell/em-unix.el (eshell-plain-locate-behavior): Make the default
4490 nil on Emacs, t on XEmacs. 4490 nil on Emacs, t on XEmacs.
4491 4491
44922003-03-25 Stefan Monnier <monnier@cs.yale.edu> 44922003-03-25 Stefan Monnier <monnier@cs.yale.edu>
@@ -6354,11 +6354,11 @@
6354 * mh-e: Created directory. ChangeLog will appear in a week when we 6354 * mh-e: Created directory. ChangeLog will appear in a week when we
6355 release version 7.2. 6355 release version 7.2.
6356 6356
6357 * mail/mh-alias.el, mail/mh-comp.el, mail/mh-customize.el, mail/mh-e.el, 6357 * mail/mh-alias.el, mail/mh-comp.el, mail/mh-customize.el, mail/mh-e.el:
6358 mail/mh-funcs.el, mail/mh-identity.el, mail/mh-index.el, 6358 * mail/mh-funcs.el, mail/mh-identity.el, mail/mh-index.el:
6359 mail/mh-loaddefs.el, mail/mh-mime.el, mail/mh-pick.el, 6359 * mail/mh-loaddefs.el, mail/mh-mime.el, mail/mh-pick.el:
6360 mail/mh-seq.el, mail/mh-speed.el, mail/mh-utils.el, 6360 * mail/mh-seq.el, mail/mh-speed.el, mail/mh-utils.el:
6361 mail/mh-xemacs-compat.el: Moved to mh-e directory. 6361 * mail/mh-xemacs-compat.el: Move to mh-e directory.
6362 Note that reply2.pbm and reply2.xpm, which were created by the 6362 Note that reply2.pbm and reply2.xpm, which were created by the
6363 MH-E package, were left in mail since they can probably be used by 6363 MH-E package, were left in mail since they can probably be used by
6364 other mail packages. 6364 other mail packages.
@@ -10676,7 +10676,7 @@
10676 10676
106772002-09-18 Michael Kifer <kifer@cs.stonybrook.edu> 106772002-09-18 Michael Kifer <kifer@cs.stonybrook.edu>
10678 10678
10679 * ediff-hooks.el: Put back the autoloads (for XEmacs compatibility). 10679 * ediff-hook.el: Put back the autoloads (for XEmacs compatibility).
10680 10680
10681 * ediff-init.el: Use defalias instead of fset. 10681 * ediff-init.el: Use defalias instead of fset.
10682 10682
@@ -11693,32 +11693,32 @@
11693 11693
116942002-08-27 Carsten Dominik <dominik@sand.science.uva.nl> 116942002-08-27 Carsten Dominik <dominik@sand.science.uva.nl>
11695 11695
11696 * textfile/reftex-ref.el (reftex-goto-label): New command. 11696 * textmodes/reftex-ref.el (reftex-goto-label): New command.
11697 11697
11698 * textfile/reftex-vars.el (reftex-part-resets-chapter): New option. 11698 * textmodes/reftex-vars.el (reftex-part-resets-chapter): New option.
11699 11699
11700 * textfile/reftex-parse.el (reftex-roman-number): New function. 11700 * textmodes/reftex-parse.el (reftex-roman-number): New function.
11701 (reftex-section-number): Better handling of parts: No chapter 11701 (reftex-section-number): Better handling of parts: No chapter
11702 counter resets. 11702 counter resets.
11703 11703
11704 * textfile/reftex.el (reftex-highlight-overlays): Added a third 11704 * textmodes/reftex.el (reftex-highlight-overlays): Added a third
11705 overlay. 11705 overlay.
11706 (reftex-mode-menu): Added entry for `reftex-toc-recenter. 11706 (reftex-mode-menu): Added entry for `reftex-toc-recenter.
11707 Also moved `reftex-reset-mode' to top level. 11707 Also moved `reftex-reset-mode' to top level.
11708 11708
11709 * textfile/reftex-toc.el (reftex-toc-recenter): New command. 11709 * textmodes/reftex-toc.el (reftex-toc-recenter): New command.
11710 (reftex-toc-pre-command-hook): Don't remove highlight overlay. 11710 (reftex-toc-pre-command-hook): Don't remove highlight overlay.
11711 (reftex-toc-post-command-hook): Use overlay no 2 for highlighting. 11711 (reftex-toc-post-command-hook): Use overlay no 2 for highlighting.
11712 11712
11713 * textfile/reftex-sel.el (reftex-get-offset): Get offset of 11713 * textmodes/reftex-sel.el (reftex-get-offset): Get offset of
11714 document pointer *before* position, not after. 11714 document pointer *before* position, not after.
11715 (reftex-insert-docstruct): Get offset of document pointer *before* 11715 (reftex-insert-docstruct): Get offset of document pointer *before*
11716 position, not after. 11716 position, not after.
11717 11717
11718 * textfiles/reftex-parse.el (reftex-where-am-I): Prefer marker 11718 * textmodes/reftex-parse.el (reftex-where-am-I): Prefer marker
11719 match over section title match. 11719 match over section title match.
11720 11720
11721 * textfiles/reftex-cite.el (reftex-bib-or-thebib): New function 11721 * textmodes/reftex-cite.el (reftex-bib-or-thebib): New function
11722 which determines on a per-file-basis if BibTeX is being used 11722 which determines on a per-file-basis if BibTeX is being used
11723 locally for citations. 11723 locally for citations.
11724 (reftex-offer-bib-menu): Use `reftex-bib-or-thebib' for better 11724 (reftex-offer-bib-menu): Use `reftex-bib-or-thebib' for better
@@ -11726,7 +11726,7 @@
11726 (reftex-bibtex-selection-callback): Use `reftex-bib-or-thebib' for 11726 (reftex-bibtex-selection-callback): Use `reftex-bib-or-thebib' for
11727 better cooperation with chapterbib. 11727 better cooperation with chapterbib.
11728 11728
11729 * textfiles/reftex-dcr.el (reftex-view-cr-cite): 11729 * textmodes/reftex-dcr.el (reftex-view-cr-cite):
11730 Use `reftex-bib-or-thebib' for better cooperation with chapterbib. 11730 Use `reftex-bib-or-thebib' for better cooperation with chapterbib.
11731 11731
117322002-08-26 Kim F. Storm <storm@cua.dk> 117322002-08-26 Kim F. Storm <storm@cua.dk>
@@ -11891,7 +11891,7 @@
11891 11891
118922002-08-20 Carsten Dominik <dominik@astro.uva.nl> 118922002-08-20 Carsten Dominik <dominik@astro.uva.nl>
11893 11893
11894 * textfiles/reftex-cite.el (reftex-bib-or-thebib): New function 11894 * textmodes/reftex-cite.el (reftex-bib-or-thebib): New function
11895 which determines on a per-file-basis if BibTeX is being used 11895 which determines on a per-file-basis if BibTeX is being used
11896 locally for citations. 11896 locally for citations.
11897 (reftex-offer-bib-menu): Use `reftex-bib-or-thebib' for better 11897 (reftex-offer-bib-menu): Use `reftex-bib-or-thebib' for better
@@ -11899,7 +11899,7 @@
11899 (reftex-bibtex-selection-callback): Use `reftex-bib-or-thebib' for 11899 (reftex-bibtex-selection-callback): Use `reftex-bib-or-thebib' for
11900 better cooperation with chapterbib. 11900 better cooperation with chapterbib.
11901 11901
11902 * textfiles/reftex-dcr.el (reftex-view-cr-cite): 11902 * textmodes/reftex-dcr.el (reftex-view-cr-cite):
11903 Use `reftex-bib-or-thebib' for better cooperation with chapterbib. 11903 Use `reftex-bib-or-thebib' for better cooperation with chapterbib.
11904 11904
119052002-08-20 Kim F. Storm <storm@cua.dk> 119052002-08-20 Kim F. Storm <storm@cua.dk>
@@ -11909,7 +11909,7 @@
11909 with keyboard macro related commands. The original binding on 11909 with keyboard macro related commands. The original binding on
11910 C-x C-k is moved to C-x C-k e. 11910 C-x C-k is moved to C-x C-k e.
11911 11911
11912 * binding.el: Remove macro related bindings (now in kmacro.el). 11912 * bindings.el: Remove macro related bindings (now in kmacro.el).
11913 11913
11914 * edmacro.el: Remove C-x C-k binding (now in kmacro.el). 11914 * edmacro.el: Remove C-x C-k binding (now in kmacro.el).
11915 11915
@@ -12099,12 +12099,12 @@
12099 12099
121002002-04-09 John Wiegley <johnw@gnu.org> 121002002-04-09 John Wiegley <johnw@gnu.org>
12101 12101
12102 * esh-util.el: Removed eshell-under-cygwin-p, and all uses of it. 12102 * eshell/em-cmpl.el (eshell-cmpl-ignore-case):
12103 * em-cmpl.el (eshell-cmpl-ignore-case): Ditto. 12103 * eshell/em-dirs.el (eshell/cd):
12104 * em-dirs.el (eshell/cd): Ditto. 12104 * eshell/em-glob.el (eshell-glob-case-insensitive):
12105 * em-glob.el (eshell-glob-case-insensitive): Ditto. 12105 * eshell/em-hist.el (eshell-previous-matching-input-string-position):
12106 * em-hist.el (eshell-previous-matching-input-string-position): Ditto. 12106 * eshell/esh-ext.el (eshell-binary-suffixes):
12107 * esh-ext.el (eshell-binary-suffixes): Ditto. 12107 * eshell/esh-util.el: Remove eshell-under-cygwin-p, and all uses of it.
12108 12108
121092002-08-09 Richard M. Stallman <rms@gnu.org> 121092002-08-09 Richard M. Stallman <rms@gnu.org>
12110 12110
@@ -12197,12 +12197,12 @@
12197 12197
121982002-04-09 John Paul Wallington <jpw@shootybangbang.com> 121982002-04-09 John Paul Wallington <jpw@shootybangbang.com>
12199 12199
12200 * esh-util.el (eshell-under-cygwin-p): New function. 12200 * eshell/esh-util.el (eshell-under-cygwin-p): New function.
12201 * em-cmpl.el (eshell-cmpl-ignore-case): Use it. 12201 * eshell/em-cmpl.el (eshell-cmpl-ignore-case):
12202 * em-dirs.el (eshell/cd): Ditto. 12202 * eshell/em-dirs.el (eshell/cd):
12203 * em-glob.el (eshell-glob-case-insensitive): Ditto. 12203 * eshell/em-glob.el (eshell-glob-case-insensitive):
12204 * em-hist.el (eshell-previous-matching-input-string-position): Ditto. 12204 * eshell/em-hist.el (eshell-previous-matching-input-string-position):
12205 * esh-ext.el (eshell-binary-suffixes): Ditto. 12205 * eshell/esh-ext.el (eshell-binary-suffixes): Use it.
12206 12206
122072002-08-05 Richard M. Stallman <rms@gnu.org> 122072002-08-05 Richard M. Stallman <rms@gnu.org>
12208 12208
@@ -14192,7 +14192,7 @@
14192 14192
141932002-06-09 Martin Stjernholm <bug-cc-mode@gnu.org> 141932002-06-09 Martin Stjernholm <bug-cc-mode@gnu.org>
14194 14194
14195 * progmodes/cc-style.el (c-set-style, c-set-style-1): 14195 * progmodes/cc-styles.el (c-set-style, c-set-style-1):
14196 Add another state for the `dont-override' flag where it only keeps 14196 Add another state for the `dont-override' flag where it only keeps
14197 globally set variables. 14197 globally set variables.
14198 14198
@@ -15640,7 +15640,7 @@
15640 15640
156412002-04-25 Michael Kifer <kifer@cs.stonybrook.edu> 156412002-04-25 Michael Kifer <kifer@cs.stonybrook.edu>
15642 15642
15643 * ediff-hooks.el: Put back the autoloads. 15643 * ediff-hook.el: Put back the autoloads.
15644 15644
156452002-04-25 Colin Walters <walters@verbum.org> 156452002-04-25 Colin Walters <walters@verbum.org>
15646 15646
@@ -16457,8 +16457,8 @@
16457 16457
164582002-04-22 Martin Stjernholm <bug-cc-mode@gnu.org> 164582002-04-22 Martin Stjernholm <bug-cc-mode@gnu.org>
16459 16459
16460 * progmodes/cc-align.el, progmodes/cc-defs.el, 16460 * progmodes/cc-align.el, progmodes/cc-defs.el:
16461 progmodes/cc-cmds.el, progmodes/cc-engine.el, cc-vars.el: 16461 * progmodes/cc-cmds.el, progmodes/cc-engine.el, progmodes/cc-vars.el:
16462 Several fixes to treat macros as code and not literals and to 16462 Several fixes to treat macros as code and not literals and to
16463 handle line continuations transparently. 16463 handle line continuations transparently.
16464 16464
@@ -17484,7 +17484,7 @@
17484 17484
174852002-04-01 Ville Skyttä <ville.skytta@xemacs.org> 174852002-04-01 Ville Skyttä <ville.skytta@xemacs.org>
17486 17486
17487 * tcl.el (tcl-imenu-generic-expression): New value. 17487 * progmodes/tcl.el (tcl-imenu-generic-expression): New value.
17488 (tcl-imenu-create-index-function): Function deleted. 17488 (tcl-imenu-create-index-function): Function deleted.
17489 (tcl-mode): Check for filladapt-mode. 17489 (tcl-mode): Check for filladapt-mode.
17490 Use tcl-imenu-generic-expression instead of 17490 Use tcl-imenu-generic-expression instead of
@@ -22092,25 +22092,29 @@
22092 (calc-do-keypad): Use it. 22092 (calc-do-keypad): Use it.
22093 (calc-keypad-map): Move into `calc-keypad-mode'. 22093 (calc-keypad-map): Move into `calc-keypad-mode'.
22094 22094
22095 * calc-math.el (calcFunc-sqrt, calcFunc-hypot): Add missing quote 22095 * calc/calc-math.el (calcFunc-sqrt, calcFunc-hypot): Add missing quote
22096 to defalias argument. 22096 to defalias argument.
22097 22097
22098 * calc-misc.el (math-fixnump, math-fixnatnump, calcFunc-trunc) 22098 * calc/calc-misc.el (math-fixnump, math-fixnatnump, calcFunc-trunc)
22099 (calcFunc-floor): Ditto. 22099 (calcFunc-floor): Ditto.
22100 22100
22101 * calc-units.el (calcFunc-usimplify): Ditto. 22101 * calc/calc-units.el (calcFunc-usimplify): Ditto.
22102 22102
22103 * calc-aent.el, calc-ext.el, calc-incom.el, calc-misc.el 22103 * calc/calc-aent.el, calc/calc-ext.el, calc/calc-incom.el:
22104 * calc-sel.el, calc-vec.el, calc-alg.el, calc-fin.el 22104 * calc/calc-misc.el, calc/calc-sel.el, calc/calc-vec.el:
22105 * calc-keypd.el, calc-mode.el, calc-stat.el, calc-yank.el 22105 * calc/calc-alg.el, calc/calc-fin.el, calc/calc-keypd.el:
22106 * calc-arith.el, calc-forms.el, calc-lang.el, calc-mtx.el 22106 * calc/calc-mode.el, calc/calc-stat.el, calc/calc-yank.el:
22107 * calc-store.el, calc.el, calc-bin.el, calc-frac.el, calc-macs.el 22107 * calc/calc-arith.el, calc/calc-forms.el, calc/calc-lang.el:
22108 * calc-poly.el, calc-stuff.el, calcalg2.el, calc-comb.el 22108 * calc/calc-mtx.el, calc/calc-store.el, calc/calc.el:
22109 * calc-funcs.el, calc-maint.el, calc-prog.el, calc-trail.el 22109 * calc/calc-bin.el, calc/calc-frac.el, calc/calc-macs.el:
22110 * calcalg3.el, calc-cplx.el, calc-graph.el, calc-map.el 22110 * calc/calc-poly.el, calc/calc-stuff.el, calc/calcalg2.el:
22111 * calc-rewr.el, calc-undo.el, calccomp.el, calc-embed.el 22111 * calc/calc-comb.el, calc/calc-funcs.el, calc/calc-maint.el:
22112 * calc-help.el, calc-math.el, calc-rules.el, calc-units.el 22112 * calc/calc-prog.el, calc/calc-trail.el, calc/calcalg3.el:
22113 * calcsel2.el: Change all toplevel `setq' forms to `defvar' forms, 22113 * calc/calc-cplx.el, calc/calc-graph.el, calc/calc-map.el:
22114 * calc/calc-rewr.el, calc/calc-undo.el, calc/calccomp.el:
22115 * calc/calc-embed.el, calc/calc-help.el, calc/calc-math.el:
22116 * calc/calc-rules.el, calc/calc-units.el, calc/calcsel2.el:
22117 Change all toplevel `setq' forms to `defvar' forms,
22114 and move them before their first use. Use `when', `unless'. 22118 and move them before their first use. Use `when', `unless'.
22115 Remove trailing periods from error forms. Add description and 22119 Remove trailing periods from error forms. Add description and
22116 headers suggested by Emacs Lisp coding conventions. 22120 headers suggested by Emacs Lisp coding conventions.
@@ -22360,21 +22364,24 @@
22360 22364
22361 * calc/calc-units.el (calcFunc-unsimplify): Ditto. 22365 * calc/calc-units.el (calcFunc-unsimplify): Ditto.
22362 22366
22363 * calc-aent.el, calc-ext.el, calc-incom.el, calc-misc.el 22367 * calc/calc-aent.el, calc/calc-ext.el, calc/calc-incom.el:
22364 * calc-sel.el, calc-vec.el, calc-alg.el, calc-fin.el 22368 * calc/calc-misc.el, calc/calc-sel.el, calc/calc-vec.el:
22365 * calc-keypd.el, calc-mode.el, calc-stat.el, calc-yank.el 22369 * calc/calc-alg.el, calc/calc-fin.el, calc/calc-keypd.el:
22366 * calc-arith.el, calc-forms.el, calc-lang.el, calc-mtx.el 22370 * calc/calc-mode.el, calc/calc-stat.el, calc/calc-yank.el:
22367 * calc-store.el, calc.el, calc-bin.el, calc-frac.el, calc-macs.el 22371 * calc/calc-arith.el, calc/calc-forms.el, calc/calc-lang.el:
22368 * calc-poly.el, calc-stuff.el, calcalg2.el, calc-comb.el 22372 * calc/calc-mtx.el, calc/calc-store.el, calc/calc.el, calc/calc-bin.el:
22369 * calc-funcs.el, calc-maint.el, calc-prog.el, calc-trail.el 22373 * calc/calc-frac.el, calc/calc-macs.el, calc/calc-poly.el:
22370 * calcalg3.el, calc-cplx.el, calc-graph.el, calc-map.el 22374 * calc/calc-stuff.el, calc/calcalg2.el, calc/calc-comb.el:
22371 * calc-rewr.el, calc-undo.el, calccomp.el, calc-embed.el 22375 * calc/calc-funcs.el, calc/calc-maint.el, calc/calc-prog.el:
22372 * calc-help.el, calc-math.el, calc-rules.el, calc-units.el 22376 * calc/calc-trail.el, calcalg3.el, calc/calc-cplx.el:
22373 * calcsel2.el: Style cleanup; don't put closing parens on their 22377 * calc/calc-graph.el, calc/calc-map.el, calc/calc-rewr.el:
22374 own line, add "foo.el ends here" to each file, and update 22378 * calc/calc-undo.el, calc/calccomp.el, calc/calc-embed.el:
22375 copyright date. 22379 * calc/calc-help.el, calc/calc-math.el, calc/calc-rules.el:
22376 22380 * calc/calc-units.el, calc/calcsel2.el: Style cleanup;
22377 * README: Update maintainer. 22381 don't put closing parens on their own line,
22382 add "foo.el ends here" to each file, and update copyright date.
22383
22384 * calc/README: Update maintainer.
22378 22385
223792001-11-13 Richard M. Stallman <rms@gnu.org> 223862001-11-13 Richard M. Stallman <rms@gnu.org>
22380 22387
diff --git a/lisp/ChangeLog.11 b/lisp/ChangeLog.11
index 2917f17da88..e41f3a81286 100644
--- a/lisp/ChangeLog.11
+++ b/lisp/ChangeLog.11
@@ -1293,9 +1293,9 @@
1293 1293
12942004-11-26 Jay Belanger <belanger@truman.edu> 12942004-11-26 Jay Belanger <belanger@truman.edu>
1295 1295
1296 * calc-misc.el (calc-last-why-command): Declare it. 1296 * calc/calc-misc.el (calc-last-why-command): Declare it.
1297 1297
1298 * calc-vec.el (math-grade-vec): New variable. 1298 * calc/calc-vec.el (math-grade-vec): New variable.
1299 (calcFunc-grade, calcFunc-rgrade, math-grade-beforep): 1299 (calcFunc-grade, calcFunc-rgrade, math-grade-beforep):
1300 Replace variable grade-vec by declared variable. 1300 Replace variable grade-vec by declared variable.
1301 (math-rb-close): New variable. 1301 (math-rb-close): New variable.
@@ -1424,7 +1424,8 @@
1424 1424
14252004-11-26 Lars Hansen <larsh@math.ku.dk> 14252004-11-26 Lars Hansen <larsh@math.ku.dk>
1426 1426
1427 * tramp.el (tramp-handle-directory-files-and-attributes): New function. 1427 * net/tramp.el (tramp-handle-directory-files-and-attributes):
1428 New function.
1428 (tramp-perl-directory-files-and-attributes): New constant. 1429 (tramp-perl-directory-files-and-attributes): New constant.
1429 (tramp-file-name-handler-alist): Delete file-directory-files, add 1430 (tramp-file-name-handler-alist): Delete file-directory-files, add
1430 directory-files-and-attributes. 1431 directory-files-and-attributes.
@@ -11950,7 +11951,7 @@
11950 11951
119512003-11-16 Martin Stjernholm <bug-cc-mode@gnu.org> 119522003-11-16 Martin Stjernholm <bug-cc-mode@gnu.org>
11952 11953
11953 * cc-engine.el (c-guess-continued-construct) 11954 * progmodes/cc-engine.el (c-guess-continued-construct)
11954 (c-guess-basic-syntax): Check a little more carefully if it's a 11955 (c-guess-basic-syntax): Check a little more carefully if it's a
11955 function declaration when an unknown construct followed by a block 11956 function declaration when an unknown construct followed by a block
11956 is found inside a statement context. This avoids macros followed 11957 is found inside a statement context. This avoids macros followed
@@ -11964,7 +11965,8 @@
11964 start is in a position so that `c-beginning-of-statement-1' jumped 11965 start is in a position so that `c-beginning-of-statement-1' jumped
11965 to the beginning of the same statement. 11966 to the beginning of the same statement.
11966 11967
11967 * cc-fonts.el, cc-engine.el (c-forward-<>-arglist-recur): 11968 * progmodes/cc-fonts.el, progmodes/cc-engine.el
11969 (c-forward-<>-arglist-recur):
11968 Don't accept binary operators in the arglist if we're in a function 11970 Don't accept binary operators in the arglist if we're in a function
11969 call context, i.e. if `c-restricted-<>-arglists' is set. That avoids 11971 call context, i.e. if `c-restricted-<>-arglists' is set. That avoids
11970 template recognition in cases like "if (a < b || c > d)". 11972 template recognition in cases like "if (a < b || c > d)".
@@ -11974,38 +11976,39 @@
11974 11976
11975 Accessing functions updated for the variable name change. 11977 Accessing functions updated for the variable name change.
11976 11978
11977 * cc-engine.el (c-syntactic-re-search-forward): Fix bug where the 11979 * progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix bug
11978 match data could get clobbered if NOT-INSIDE-TOKEN is used. 11980 where the match data could get clobbered if NOT-INSIDE-TOKEN is used.
11979 11981
11980 * cc-engine.el (c-beginning-of-statement-1): Don't allow parens in 11982 * progmodes/cc-engine.el (c-beginning-of-statement-1):
11981 labels. 11983 Don't allow parens in labels.
11982 11984
11983 (c-backward-to-decl-anchor): Use `c-beginning-of-statement-1' 11985 (c-backward-to-decl-anchor): Use `c-beginning-of-statement-1'
11984 instead of duplicating parts of it. This fixes bogus label 11986 instead of duplicating parts of it. This fixes bogus label
11985 recognition. 11987 recognition.
11986 11988
11987 * cc-align.el (c-gnu-impose-minimum): Revert to the old method 11989 * progmodes/cc-align.el (c-gnu-impose-minimum): Revert to the old method
11988 of checking the context in which to apply the minimum indentation, 11990 of checking the context in which to apply the minimum indentation,
11989 so that it isn't enforced in e.g. namespace blocks. 11991 so that it isn't enforced in e.g. namespace blocks.
11990 11992
11991 * cc-vars.el (c-inside-block-syms): New constant used by 11993 * progmodes/cc-vars.el (c-inside-block-syms): New constant used by
11992 `c-gnu-impose-minimum'. It's defined close to `c-offsets-alist' 11994 `c-gnu-impose-minimum'. It's defined close to `c-offsets-alist'
11993 to somewhat reduce the risk of becoming stale. 11995 to somewhat reduce the risk of becoming stale.
11994 11996
11995 * cc-cmds.el, cc-engine.el (c-shift-line-indentation): Move from 11997 * progmodes/cc-cmds.el, progmodes/cc-engine.el
11996 cc-cmds to cc-engine to allow use from cc-align. 11998 (c-shift-line-indentation): Move from cc-cmds to cc-engine
11999 to allow use from cc-align.
11997 12000
11998 * cc-engine.el (c-beginning-of-inheritance-list): Cope with fully 12001 * progmodes/cc-engine.el (c-beginning-of-inheritance-list):
11999 qualified identifiers containing "::". 12002 Cope with fully qualified identifiers containing "::".
12000 12003
12001 * cc-defs.el (c-make-keywords-re): Add kludge for bug in 12004 * progmodes/cc-defs.el (c-make-keywords-re): Add kludge for bug in
12002 `regexp-opt' in Emacs 20 and XEmacs when strings contain newlines. 12005 `regexp-opt' in Emacs 20 and XEmacs when strings contain newlines.
12003 12006
12004 * cc-vars.el (c-emacs-features): Use a space in front of the name 12007 * progmodes/cc-vars.el (c-emacs-features): Use a space in front of
12005 of the temporary buffer. That also avoids dumping problems in 12008 the name of the temporary buffer. That also avoids dumping problems in
12006 XEmacs due to undo info being left around after the buffer is killed. 12009 XEmacs due to undo info being left around after the buffer is killed.
12007 12010
12008 * cc-engine.el (c-in-knr-argdecl): Look closer at the function 12011 * progmodes/cc-engine.el (c-in-knr-argdecl): Look closer at the function
12009 arglist to see if it's a K&R style declaration. 12012 arglist to see if it's a K&R style declaration.
12010 12013
12011 (c-guess-basic-syntax): CASE 5B.2: Check with `c-in-knr-argdecl' 12014 (c-guess-basic-syntax): CASE 5B.2: Check with `c-in-knr-argdecl'
@@ -13476,20 +13479,20 @@
13476 13479
134772003-08-11 Carsten Dominik <dominik@sand.science.uva.nl> 134802003-08-11 Carsten Dominik <dominik@sand.science.uva.nl>
13478 13481
13479 * reftex-toc.el (reftex-toc-rename-label): New function. 13482 * textmodes/reftex-toc.el (reftex-toc-rename-label): New function.
13480 (reftex-toc-check-docstruct): New function. 13483 (reftex-toc-check-docstruct): New function.
13481 13484
13482 * reftex.el (reftex-region-active-p): New function. 13485 * textmodes/reftex.el (reftex-region-active-p): New function.
13483 13486
13484 * reftex-parse.el (reftex-locate-bibliography-files): Improved the 13487 * textmodes/reftex-parse.el (reftex-locate-bibliography-files): Improved the
13485 regexp to find the \bibliography macro. 13488 regexp to find the \bibliography macro.
13486 13489
13487 * reftex-vars.el (reftex-section-levels): Removed subsubparagraph, 13490 * textmodes/reftex-vars.el (reftex-section-levels): Removed subsubparagraph,
13488 which does not exist in LaTeX. 13491 which does not exist in LaTeX.
13489 (reftex-cite-format-builtin): Added amsrefs support. 13492 (reftex-cite-format-builtin): Added amsrefs support.
13490 (reftex-toc-confirm-promotion): New option 13493 (reftex-toc-confirm-promotion): New option
13491 13494
13492 * reftex-toc.el 13495 * textmodes/reftex-toc.el
13493 (reftex-toc): Use `reftex-toc-split-windows-fraction'. 13496 (reftex-toc): Use `reftex-toc-split-windows-fraction'.
13494 (reftex-toc-demote, reftex-toc-promote) 13497 (reftex-toc-demote, reftex-toc-promote)
13495 (reftex-toc-do-promote, reftex-toc-promote-prepare) 13498 (reftex-toc-do-promote, reftex-toc-promote-prepare)
@@ -13512,10 +13515,9 @@
13512 (reftex-toc-quit): Adapted to delete frame when called in 13515 (reftex-toc-quit): Adapted to delete frame when called in
13513 dedicated frame. 13516 dedicated frame.
13514 13517
13515 * reftex-index.el (reftex-index-phrase-match-is-indexed): Check 13518 * textmodes/reftex-index.el (reftex-index-phrase-match-is-indexed): Check
13516 all enclosing macros. 13519 all enclosing macros.
13517 13520
13518
135192003-08-08 Vinicius Jose Latorre <viniciusjl@ig.com.br> 135212003-08-08 Vinicius Jose Latorre <viniciusjl@ig.com.br>
13520 13522
13521 * progmodes/ebnf2ps.el (ebnf-total, ebnf-nprod): Move defvar before 13523 * progmodes/ebnf2ps.el (ebnf-total, ebnf-nprod): Move defvar before
diff --git a/lisp/ChangeLog.12 b/lisp/ChangeLog.12
index 70eefd02a72..72a22723ed7 100644
--- a/lisp/ChangeLog.12
+++ b/lisp/ChangeLog.12
@@ -8191,8 +8191,9 @@
8191 8191
81922006-07-10 Alan Mackenzie <acm@muc.de> 81922006-07-10 Alan Mackenzie <acm@muc.de>
8193 8193
8194 * progmodes/cc-awk.el, cc-defs.el, cc-fonts.el, cc-langs.el: 8194 * progmodes/cc-awk.el, progmodes/cc-defs.el, progmodes/cc-fonts.el:
8195 * cc-mode.el: Changes to eradicate eval-after-load. 8195 * progmodes/cc-langs.el, progmodes/cc-mode.el:
8196 Changes to eradicate eval-after-load.
8196 8197
81972006-07-09 Chong Yidong <cyd@stupidchicken.com> 81982006-07-09 Chong Yidong <cyd@stupidchicken.com>
8198 8199
@@ -12229,7 +12230,7 @@
12229 12230
122302006-02-24 Alan Mackenzie <bug-cc-mode@gnu.org> 122312006-02-24 Alan Mackenzie <bug-cc-mode@gnu.org>
12231 12232
12232 * progmodes/cc-cmds.el, cc-mode.el: Rename c-hungry-backspace to 12233 * progmodes/cc-cmds.el, progmodes/cc-mode.el: Rename c-hungry-backspace to
12233 c-hungry-delete-backwards, at the request of RMS. Leave the old 12234 c-hungry-delete-backwards, at the request of RMS. Leave the old
12234 name as an alias. 12235 name as an alias.
12235 12236
@@ -12283,7 +12284,7 @@
12283 12284
12284 * progmodes/cc-defs.el (c-version): Update version number to 5.31.2. 12285 * progmodes/cc-defs.el (c-version): Update version number to 5.31.2.
12285 12286
12286 * progmodes/cc-cmds.el, cc-mode.el, cc-engine.el 12287 * progmodes/cc-cmds.el, progmodes/cc-mode.el, progmodes/cc-engine.el
12287 (c-update-modeline): Concatenate the minor mode indicators 12288 (c-update-modeline): Concatenate the minor mode indicators
12288 directly onto mode-name, removing c-submode-indicators. 12289 directly onto mode-name, removing c-submode-indicators.
12289 Sometimes, c-s-i got separated from the mode name on the mode line. 12290 Sometimes, c-s-i got separated from the mode name on the mode line.
@@ -15730,7 +15731,8 @@
15730 Emacsen which lack `define-minor-mode'. (Currently Emacs <21. 15731 Emacsen which lack `define-minor-mode'. (Currently Emacs <21.
15731 We might do this function properly in the future). 15732 We might do this function properly in the future).
15732 15733
15733 * progmodes/cc-cmds.el, cc-defs.el, cc-styles.el, cc-vars.el: 15734 * progmodes/cc-cmds.el, progmodes/cc-defs.el:
15735 * progmodes/cc-styles.el, progmodes/cc-vars.el:
15734 New macros c-sentence-end and c-default-value-sentence end, to cope 15736 New macros c-sentence-end and c-default-value-sentence end, to cope
15735 with Emacs 22's new function `sentence-end'. 15737 with Emacs 22's new function `sentence-end'.
15736 15738
@@ -15779,7 +15781,7 @@
15779 15781
15780 * progmodes/cc-mode.el: Bind c-subword-mode to C-c C-w. 15782 * progmodes/cc-mode.el: Bind c-subword-mode to C-c C-w.
15781 15783
15782 * progmodes/cc-subword.el, cc-cmds.el, cc-mode.el: 15784 * progmodes/cc-subword.el, progmodes/cc-cmds.el, progmodes/cc-mode.el:
15783 Rename "c-subword-move-mode" as "c-subword-mode". 15785 Rename "c-subword-move-mode" as "c-subword-mode".
15784 15786
15785 * progmodes/cc-mode.el: Added tty suitable bindings for C-c 15787 * progmodes/cc-mode.el: Added tty suitable bindings for C-c
@@ -15810,7 +15812,7 @@
15810 15812
158112005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 158132005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
15812 15814
15813 * progmodes/cc-fonts.el, cc-vars.el 15815 * progmodes/cc-fonts.el, progmodes/cc-vars.el
15814 (gtkdoc-font-lock-doc-comments, gtkdoc-font-lock-doc-protection) 15816 (gtkdoc-font-lock-doc-comments, gtkdoc-font-lock-doc-protection)
15815 (gtkdoc-font-lock-keywords): GtkDoc patterns contributed by 15817 (gtkdoc-font-lock-keywords): GtkDoc patterns contributed by
15816 Masatake YAMATO. 15818 Masatake YAMATO.
@@ -15886,7 +15888,7 @@
15886 * progmodes/cc-cmds.el: Make C-c C-a (`c-toggle-auto-newline') 15888 * progmodes/cc-cmds.el: Make C-c C-a (`c-toggle-auto-newline')
15887 forcibly enable c-electric-flag. 15889 forcibly enable c-electric-flag.
15888 15890
15889 * progmodes/cc-vars.el, cc-cmds.el: New clean-up 15891 * progmodes/cc-vars.el, progmodes/cc-cmds.el: New clean-up
15890 `comment-close-slash' on c-electric-slash: if enabled, typing `/' just 15892 `comment-close-slash' on c-electric-slash: if enabled, typing `/' just
15891 after the comment-prefix of a C-style comment will close that comment. 15893 after the comment-prefix of a C-style comment will close that comment.
15892 15894
@@ -15899,7 +15901,7 @@
15899 * progmodes/cc-langs.el (c-other-op-syntax-tokens): Only C++ has 15901 * progmodes/cc-langs.el (c-other-op-syntax-tokens): Only C++ has
15900 digraphs. 15902 digraphs.
15901 15903
15902 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el 15904 * progmodes/cc-fonts.el, progmodes/cc-langs.el, progmodes/cc-engine.el
15903 (c-cpp-message-directives, c-cpp-include-directives) 15905 (c-cpp-message-directives, c-cpp-include-directives)
15904 (c-opt-cpp-macro-define, c-opt-cpp-macro-define-start) 15906 (c-opt-cpp-macro-define, c-opt-cpp-macro-define-start)
15905 (c-cpp-expr-directives): Introduce new language constants to 15907 (c-cpp-expr-directives): Introduce new language constants to
@@ -15909,7 +15911,7 @@
15909 15911
15910 (c-cpp-matchers, c-forward-to-cpp-define-body): Use them. 15912 (c-cpp-matchers, c-forward-to-cpp-define-body): Use them.
15911 15913
15912 * progmodes/cc-langs.el, cc-fonts.el (c-string-escaped-newlines) 15914 * progmodes/cc-langs.el, progmodes/cc-fonts.el (c-string-escaped-newlines)
15913 (c-multiline-string-start-char): New language constants and 15915 (c-multiline-string-start-char): New language constants and
15914 variables to specify how newlines in string literals work. 15916 variables to specify how newlines in string literals work.
15915 15917
@@ -15923,13 +15925,13 @@
15923 (c-electric-brace): Indent syntactically after the cleanups since 15925 (c-electric-brace): Indent syntactically after the cleanups since
15924 lineup functions might do it differently then. 15926 lineup functions might do it differently then.
15925 15927
15926 * progmodes/cc-engine.el, cc-langs.el 15928 * progmodes/cc-engine.el, progmodes/cc-langs.el
15927 (c-opt-op-identifier-prefix): New language constant and variable. 15929 (c-opt-op-identifier-prefix): New language constant and variable.
15928 15930
15929 (c-just-after-func-arglist-p, c-after-special-operator-id) 15931 (c-just-after-func-arglist-p, c-after-special-operator-id)
15930 (c-search-decl-header-end, c-inside-bracelist-p): Use it. 15932 (c-search-decl-header-end, c-inside-bracelist-p): Use it.
15931 15933
15932 * progmodes/cc-align.el, cc-engine.el 15934 * progmodes/cc-align.el, progmodes/cc-engine.el
15933 (c-after-special-operator-id): New helper to handle C++ operator 15935 (c-after-special-operator-id): New helper to handle C++ operator
15934 identifiers. 15936 identifiers.
15935 15937
@@ -16012,8 +16014,9 @@
16012 * progmodes/cc-cmds.el (c-show-syntactic-information): Show the 16014 * progmodes/cc-cmds.el (c-show-syntactic-information): Show the
16013 anchor position(s) using faces. Thanks to Masatake YAMATO for the idea. 16015 anchor position(s) using faces. Thanks to Masatake YAMATO for the idea.
16014 16016
16015 * progmodes/cc-mode.el, cc-cmds.el, cc-defs.el, cc-engine.el 16017 * progmodes/cc-mode.el, progmodes/cc-cmds.el, progmodes/cc-defs.el:
16016 (c-submode-indicators): Change name from `c-auto-hungry-string' 16018 * progmodes/cc-engine.el (c-submode-indicators):
16019 Change name from `c-auto-hungry-string'
16017 since it's now used to track another submode. 16020 since it's now used to track another submode.
16018 16021
16019 (c-update-modeline): Convert to function and extended to check 16022 (c-update-modeline): Convert to function and extended to check
@@ -16084,7 +16087,7 @@
16084 to avoid heuristics that doesn't work for unclosed blocks. 16087 to avoid heuristics that doesn't work for unclosed blocks.
16085 (c-at-statement-start-p): New function. 16088 (c-at-statement-start-p): New function.
16086 16089
16087 * progmodes/cc-engine.el, cc-fonts.el: Fixes in handling of 16090 * progmodes/cc-engine.el, progmodes/cc-fonts.el: Fixes in handling of
16088 Objective-C directives, e.g. directives spanning lines should work 16091 Objective-C directives, e.g. directives spanning lines should work
16089 reasonably well now. 16092 reasonably well now.
16090 16093
@@ -16168,7 +16171,7 @@
16168 (c-forward-single-comment, c-backward-single-comment): Comment out 16171 (c-forward-single-comment, c-backward-single-comment): Comment out
16169 the (now redundant) "special" AWK stuff. 16172 the (now redundant) "special" AWK stuff.
16170 16173
16171 * progmodes/cc-styles.el, cc-vars.el: Change the settings of 16174 * progmodes/cc-styles.el, progmodes/cc-vars.el: Change the settings of
16172 c-string-par-start, c-string-par-separate to be more like Text 16175 c-string-par-start, c-string-par-separate to be more like Text
16173 Mode than Fundamental Mode. 16176 Mode than Fundamental Mode.
16174 16177
@@ -16237,7 +16240,7 @@
16237 the checks for paren sexps between the point and the keyword, to 16240 the checks for paren sexps between the point and the keyword, to
16238 avoid some false alarms. 16241 avoid some false alarms.
16239 16242
16240 * progmodes/cc-engine.el, cc-langs.el (c-looking-at-inexpr-block): 16243 * progmodes/cc-engine.el, progmodes/cc-langs.el (c-looking-at-inexpr-block):
16241 Fixed a situation where an error could be thrown for unbalanced 16244 Fixed a situation where an error could be thrown for unbalanced
16242 parens. Changed to make use of c-keyword-member' to avoid some 16245 parens. Changed to make use of c-keyword-member' to avoid some
16243 repeated regexp matches. 16246 repeated regexp matches.
@@ -16278,7 +16281,8 @@
16278 16281
162792005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 162822005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
16280 16283
16281 * progmodes/cc-cmds.el, cc-styles.el, cc-vars.el: New variables 16284 * progmodes/cc-cmds.el, progmodes/cc-styles.el:
16285 * progmodes/cc-vars.el: New variables
16282 c-string-par-start/separate c-sentence-end-with-esc-eol, 16286 c-string-par-start/separate c-sentence-end-with-esc-eol,
16283 initialized in c-setup-paragraph-variables, used in string 16287 initialized in c-setup-paragraph-variables, used in string
16284 scanning subroutines of c-beginning-of-statement. 16288 scanning subroutines of c-beginning-of-statement.
@@ -16288,7 +16292,7 @@
16288 16292
162892005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 162932005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
16290 16294
16291 * progmodes/cc-engine.el, cc-langs.el: Rewrote the recognition 16295 * progmodes/cc-engine.el, progmodes/cc-langs.el: Rewrote the recognition
16292 function for declaration level blocks. It should now cope with 16296 function for declaration level blocks. It should now cope with
16293 templates better and also be a lot more comprehensible. 16297 templates better and also be a lot more comprehensible.
16294 16298
@@ -16340,7 +16344,7 @@
16340 the point could be left directly after an open paren when finding 16344 the point could be left directly after an open paren when finding
16341 the beginning of the first decl in the block. 16345 the beginning of the first decl in the block.
16342 16346
16343 * progmodes/cc-engine.el, cc-fonts.el (c-forward-keyword-clause): 16347 * progmodes/cc-engine.el, progmodes/cc-fonts.el (c-forward-keyword-clause):
16344 Specify which submatch to use. 16348 Specify which submatch to use.
16345 16349
16346 * progmodes/cc-langs.el (c-symbol-start): Include `@' in ObjC. 16350 * progmodes/cc-langs.el (c-symbol-start): Include `@' in ObjC.
@@ -16405,7 +16409,7 @@
16405 (c-specifier-key, c-not-decl-init-keywords): Some cleanup using new 16409 (c-specifier-key, c-not-decl-init-keywords): Some cleanup using new
16406 language constants `c-type-start-kwds' and `c-prefix-spec-kwds'. 16410 language constants `c-type-start-kwds' and `c-prefix-spec-kwds'.
16407 16411
16408 * progmodes/cc-fonts.el, cc-langs.el, cc-engine.el: 16412 * progmodes/cc-fonts.el, progmodes/cc-langs.el, progmodes/cc-engine.el:
16409 Internal cleanups to properly detect the declared identifiers in 16413 Internal cleanups to properly detect the declared identifiers in
16410 various declarations. 16414 various declarations.
16411 16415
@@ -16446,11 +16450,12 @@
16446 * progmodes/cc-engine.el (c-maybe-labelp): Provide no default 16450 * progmodes/cc-engine.el (c-maybe-labelp): Provide no default
16447 value - this variable is always dynamically bound. 16451 value - this variable is always dynamically bound.
16448 16452
16449 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el, cc-menus.el 16453 * progmodes/cc-engine.el, progmodes/cc-fonts.el, progmodes/cc-langs.el:
16450 * cc-mode.el, cc-styles.el, cc-vars.el, cc-align.el, cc-awk.el 16454 * progmodes/cc-menus.el, progmodes/cc-mode.el, progmodes/cc-styles.el:
16451 * cc-cmds.el, cc-defs.el: Change the policy for marking up 16455 * progmodes/cc-vars.el, progmodes/cc-align.el, progmodes/cc-awk.el:
16452 functions that might do hidden buffer changes: All such internal 16456 * progmodes/cc-cmds.el, progmodes/cc-defs.el: Change the policy
16453 functions are now marked instead of those that don't. 16457 for marking up functions that might do hidden buffer changes:
16458 All such internal functions are now marked instead of those that don't.
16454 16459
16455 (c-beginning-of-macro, c-end-of-macro, c-(forward|backward)-comments) 16460 (c-beginning-of-macro, c-end-of-macro, c-(forward|backward)-comments)
16456 (c-(forward|backward)-single-comment, c-parse-state, c-on-identifier) 16461 (c-(forward|backward)-single-comment, c-parse-state, c-on-identifier)
@@ -16495,7 +16500,8 @@
16495 16500
164962005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 165012005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
16497 16502
16498 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el: Cleaned up the 16503 * progmodes/cc-engine.el, progmodes/cc-fonts.el:
16504 * progmodes/cc-langs.el: Cleaned up the
16499 label handling. Labels are now recognized in a uniform and more 16505 label handling. Labels are now recognized in a uniform and more
16500 robust way, regardless of context. Text properties are put on all 16506 robust way, regardless of context. Text properties are put on all
16501 labels to recognize the following declarations better. 16507 labels to recognize the following declarations better.
@@ -16552,7 +16558,7 @@
16552 * progmodes/cc-align.el (c-lineup-arglist): Fix bug when the 16558 * progmodes/cc-align.el (c-lineup-arglist): Fix bug when the
16553 first argument starts with a special brace list. 16559 first argument starts with a special brace list.
16554 16560
16555 * progmodes/cc-engine.el, cc-fonts.el (c-forward-decl-or-cast-1) 16561 * progmodes/cc-engine.el, progmodes/cc-fonts.el (c-forward-decl-or-cast-1)
16556 (c-font-lock-declarations): Break out the declaration and cast 16562 (c-font-lock-declarations): Break out the declaration and cast
16557 recognition from `c-font-lock-declarations' to a new function, so 16563 recognition from `c-font-lock-declarations' to a new function, so
16558 that it can be used in the indentation engine. 16564 that it can be used in the indentation engine.
@@ -16652,7 +16658,7 @@
16652 16658
166532005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 166592005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
16654 16660
16655 * progmodes/cc-fonts.el, cc-langs.el: Use `c-simple-ws' instead of 16661 * progmodes/cc-fonts.el, progmodes/cc-langs.el: Use `c-simple-ws' instead of
16656 hardcoded char classes wherever possible. Changed a couple of 16662 hardcoded char classes wherever possible. Changed a couple of
16657 places to use skip by syntax instead of skip by char class. 16663 places to use skip by syntax instead of skip by char class.
16658 16664
@@ -16702,7 +16708,7 @@
16702 * progmodes/cc-cmds.el: Tidy c-beginning-of-sentence (and 16708 * progmodes/cc-cmds.el: Tidy c-beginning-of-sentence (and
16703 subfunctions) so that it works at BOB and EOB. 16709 subfunctions) so that it works at BOB and EOB.
16704 16710
16705 * progmodes/cc-cmds.el, cc-vars.el: More updating of 16711 * progmodes/cc-cmds.el, progmodes/cc-vars.el: More updating of
16706 c-beginning-of-statement, including new variable 16712 c-beginning-of-statement, including new variable
16707 c-block-comment-start-regexp. 16713 c-block-comment-start-regexp.
16708 16714
@@ -16742,7 +16748,7 @@
16742 16748
167432005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 167492005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
16744 16750
16745 * progmodes/cc-engine.el, cc-fonts.el, cc-langs.el 16751 * progmodes/cc-engine.el, progmodes/cc-fonts.el, progmodes/cc-langs.el
16746 (c-guess-basic-syntax): Change the way class-level labels are 16752 (c-guess-basic-syntax): Change the way class-level labels are
16747 recognized; they can now contain essentially any symbols. 16753 recognized; they can now contain essentially any symbols.
16748 16754
@@ -16765,7 +16771,7 @@
16765 Remove some cruft and fixed a bug that could cause it to go to a 16771 Remove some cruft and fixed a bug that could cause it to go to a
16766 position further down. 16772 position further down.
16767 16773
16768 * progmodes/cc-langs.el, cc-engine.el 16774 * progmodes/cc-langs.el, progmodes/cc-engine.el
16769 (c-beginning-of-statement-1): Improve detection of labels in 16775 (c-beginning-of-statement-1): Improve detection of labels in
16770 declaration contexts. 16776 declaration contexts.
16771 16777
@@ -16780,7 +16786,7 @@
16780 * progmodes/cc-defs.el (c-forward-sexp, c-backward-sexp): 16786 * progmodes/cc-defs.el (c-forward-sexp, c-backward-sexp):
16781 Make these behave as documented when used at the buffer limits. 16787 Make these behave as documented when used at the buffer limits.
16782 16788
16783 * progmodes/cc-mode.el, cc-engine.el, cc-langs.el 16789 * progmodes/cc-mode.el, progmodes/cc-engine.el, progmodes/cc-langs.el
16784 (c-type-decl-end-used): Made this a language variable. 16790 (c-type-decl-end-used): Made this a language variable.
16785 16791
16786 * progmodes/cc-mode.el (c-after-change): Widen the buffer to work 16792 * progmodes/cc-mode.el (c-after-change): Widen the buffer to work
@@ -16807,7 +16813,8 @@
16807 * progmodes/cc-mode.el (c-basic-common-init): Turn on syntax-table 16813 * progmodes/cc-mode.el (c-basic-common-init): Turn on syntax-table
16808 text property lookup only when it's needed. 16814 text property lookup only when it's needed.
16809 16815
16810 * progmodes/cc-langs.el, cc-engine.el, cc-fonts.el, cc-mode.el: 16816 * progmodes/cc-langs.el, progmodes/cc-engine.el:
16817 * progmodes/cc-fonts.el, progmodes/cc-mode.el:
16811 Change the policy for paren marked angle brackets to be more 16818 Change the policy for paren marked angle brackets to be more
16812 persistent; once marked they remain marked even when they're found 16819 persistent; once marked they remain marked even when they're found
16813 to be unbalanced in the searched region. This should keep the 16820 to be unbalanced in the searched region. This should keep the
@@ -16852,27 +16859,29 @@
16852 16859
168532005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 168602005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
16854 16861
16855 * progmodes/cc-cmds.el, cc-engine.el, cc-langs.el, cc-vars.el: 16862 * progmodes/cc-cmds.el, progmodes/cc-engine.el:
16863 * progmodes/cc-langs.el, progmodes/cc-vars.el:
16856 Make the "Text Filling and Line Breaking" commands work for AWK buffers. 16864 Make the "Text Filling and Line Breaking" commands work for AWK buffers.
16857 16865
168582005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org> 168662005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
16859 16867
16860 * progmodes/cc-defs.el, cc-engine.el (c-mode-is-new-awk-p): 16868 * progmodes/cc-defs.el, progmodes/cc-engine.el (c-mode-is-new-awk-p):
16861 Removed; (c-major-mode-is 'awk-mode) can be used instead now. 16869 Removed; (c-major-mode-is 'awk-mode) can be used instead now.
16862 16870
16863 * progmodes/cc-mode.el: Always set up AWK mode since emacsen where 16871 * progmodes/cc-mode.el: Always set up AWK mode since emacsen where
16864 it doesn't work no longer are supported. 16872 it doesn't work no longer are supported.
16865 16873
16866 * progmodes/cc-mode.el, cc-styles.el, cc-vars.el, cc-defs.el 16874 * progmodes/cc-mode.el, progmodes/cc-styles.el, progmodes/cc-vars.el:
16867 * cc-engine.el, cc-fonts.el, cc-langs.el, cc-cmds.el: CC Mode now 16875 * progmodes/cc-defs.el, progmodes/cc-engine.el, progmodes/cc-fonts.el:
16876 * progmodes/cc-langs.el, progmodes/cc-cmds.el: CC Mode now
16868 requires support for the syntax-table' text property, which rules 16877 requires support for the syntax-table' text property, which rules
16869 out Emacs 19 and XEmacs < 21.4. Removed various compatibility 16878 out Emacs 19 and XEmacs < 21.4. Removed various compatibility
16870 cruft associated with those versions. 16879 cruft associated with those versions.
16871 16880
16872 * progmodes/cc-defs.el, cc-fix.el: CC Mode now requires support 16881 * progmodes/cc-defs.el, progmodes/cc-fix.el: CC Mode now requires
16873 for the `syntax-table' text property, which rules out Emacs 19 and 16882 support for the `syntax-table' text property, which rules out
16874 XEmacs < 21.4. Removed various compatibility cruft associated 16883 Emacs 19 and XEmacs < 21.4. Remove various compatibility cruft
16875 with those versions. 16884 associated with those versions.
16876 16885
16877 * progmodes/cc-vars.el (c-emacs-features): CC Mode now requires 16886 * progmodes/cc-vars.el (c-emacs-features): CC Mode now requires
16878 support for the `syntax-table' text property. 16887 support for the `syntax-table' text property.
@@ -27408,14 +27417,14 @@
27408 * progmodes/cc-engine.el (c-guess-basic-syntax): Handle operator 27417 * progmodes/cc-engine.el (c-guess-basic-syntax): Handle operator
27409 declarations somewhat better in C++. 27418 declarations somewhat better in C++.
27410 27419
27411 * progmodes/cc-styles.el, cc-mode.el (c-run-mode-hooks): 27420 * progmodes/cc-styles.el, progmodes/cc-mode.el (c-run-mode-hooks):
27412 New helper macro to make use of `run-mode-hooks' 27421 New helper macro to make use of `run-mode-hooks'
27413 which has been added in Emacs 21.1. 27422 which has been added in Emacs 21.1.
27414 (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode) 27423 (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode)
27415 (awk-mode): Use it. 27424 (awk-mode): Use it.
27416 (make-local-hook): Suppress warning about obsolescence. 27425 (make-local-hook): Suppress warning about obsolescence.
27417 27426
27418 * progmodes/cc-engine.el, cc-align.el, cc-cmds.el 27427 * progmodes/cc-engine.el, progmodes/cc-align.el, progmodes/cc-cmds.el
27419 (c-append-backslashes-forward, c-delete-backslashes-forward) 27428 (c-append-backslashes-forward, c-delete-backslashes-forward)
27420 (c-find-decl-spots, c-semi&comma-no-newlines-before-nonblanks): 27429 (c-find-decl-spots, c-semi&comma-no-newlines-before-nonblanks):
27421 Compensate for return value from `forward-line' when it has moved 27430 Compensate for return value from `forward-line' when it has moved
@@ -27428,9 +27437,9 @@
27428 27437
27429 CC Mode update to 5.30.10: 27438 CC Mode update to 5.30.10:
27430 27439
27431 * progmodes/cc-mode.el, cc-engine.el, cc-align.el: Change the FSF's 27440 * progmodes/cc-mode.el, progmodes/cc-engine.el, progmodes/cc-align.el:
27432 address in the copyright statement. Incidentally, change "along with 27441 Change the FSF's address in the copyright statement. Incidentally,
27433 GNU Emacs" to "along with this program" where it occurs. 27442 change "along with GNU Emacs" to "along with this program" where it occurs.
27434 27443
27435 * progmodes/cc-mode.el: Add a fourth parameter `t' to the awk-mode 27444 * progmodes/cc-mode.el: Add a fourth parameter `t' to the awk-mode
27436 autoload, so that it is interactive, hence can be found by M-x awk-mode 27445 autoload, so that it is interactive, hence can be found by M-x awk-mode
diff --git a/lisp/ChangeLog.13 b/lisp/ChangeLog.13
index a14426a2ce0..47c6144046c 100644
--- a/lisp/ChangeLog.13
+++ b/lisp/ChangeLog.13
@@ -541,7 +541,7 @@
541 541
5422008-02-01 Vinicius Jose Latorre <viniciusjl@ig.com.br> 5422008-02-01 Vinicius Jose Latorre <viniciusjl@ig.com.br>
543 543
544 * ps-print.ps: Fix background height. 544 * ps-print.el: Fix background height.
545 (ps-print-version): New version 7.2.1. 545 (ps-print-version): New version 7.2.1.
546 546
5472008-02-01 Vinicius Jose Latorre <viniciusjl@ig.com.br> 5472008-02-01 Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/ChangeLog.14 b/lisp/ChangeLog.14
index d452836991b..52612a7a724 100644
--- a/lisp/ChangeLog.14
+++ b/lisp/ChangeLog.14
@@ -7565,7 +7565,7 @@
7565 7565
75662008-09-05 Wilson Snyder <wsnyder@wsnyder.org> 75662008-09-05 Wilson Snyder <wsnyder@wsnyder.org>
7567 7567
7568 * verilog-mode.el (verilog-library-extensions): Enable .sv 7568 * progmodes/verilog-mode.el (verilog-library-extensions): Enable .sv
7569 filename extensions to call verilog-mode. 7569 filename extensions to call verilog-mode.
7570 (verilog-auto, verilog-auto-inst, verilog-faq) 7570 (verilog-auto, verilog-auto-inst, verilog-faq)
7571 (verilog-submit-bug-report): Update author support URLs. 7571 (verilog-submit-bug-report): Update author support URLs.
@@ -7592,7 +7592,7 @@
7592 7592
75932008-09-05 Michael McNamara <mac@mail.brushroad.com> 75932008-09-05 Michael McNamara <mac@mail.brushroad.com>
7594 7594
7595 * verilog-mode.el (verilog-beg-block-re-ordered, verilog-calc-1): 7595 * progmodes/verilog-mode.el (verilog-beg-block-re-ordered, verilog-calc-1):
7596 Better support for the property statement. Sometimes this keyword 7596 Better support for the property statement. Sometimes this keyword
7597 introduces a statement which requires an endproperty keyword, and 7597 introduces a statement which requires an endproperty keyword, and
7598 sometimes it doesn't, depending on the work before the property 7598 sometimes it doesn't, depending on the work before the property
@@ -11807,7 +11807,7 @@
11807 11807
118082008-05-24 Ulf Jasper <ulf.jasper@web.de> 118082008-05-24 Ulf Jasper <ulf.jasper@web.de>
11809 11809
11810 * icalendar.el (icalendar-version): Increase to "0.19". 11810 * calendar/icalendar.el (icalendar-version): Increase to "0.19".
11811 (icalendar--date-style): New function. 11811 (icalendar--date-style): New function.
11812 (icalendar--datetime-to-diary-date): Doc fix. 11812 (icalendar--datetime-to-diary-date): Doc fix.
11813 Use icalendar--date-style. 11813 Use icalendar--date-style.
@@ -13390,10 +13390,6 @@
13390 (orgtbl-send-table): Use the previous two functions and implement 13390 (orgtbl-send-table): Use the previous two functions and implement
13391 multiple destinations for each table. 13391 multiple destinations for each table.
13392 13392
13393 * doc/org.texi (A LaTeX example): Note that fmt may be a
13394 one-argument function, and efmt may be a two-argument function.
13395 (Radio tables): Document multiple destinations.
13396
133972008-04-27 Carsten Dominik <dominik@science.uva.nl> 133932008-04-27 Carsten Dominik <dominik@science.uva.nl>
13398 13394
13399 * org/org-agenda.el (org-add-to-diary-list): New function. 13395 * org/org-agenda.el (org-add-to-diary-list): New function.
@@ -13508,7 +13504,7 @@
13508 13504
135092008-04-27 Andreas Schwab <schwab@suse.de> 135052008-04-27 Andreas Schwab <schwab@suse.de>
13510 13506
13511 * Makefile.el: Unbreak bootstrap. 13507 * Makefile.in: Unbreak bootstrap.
13512 13508
135132008-04-27 Michael Albinus <michael.albinus@gmx.de> 135092008-04-27 Michael Albinus <michael.albinus@gmx.de>
13514 13510
diff --git a/lisp/ChangeLog.15 b/lisp/ChangeLog.15
index 8570b44dd42..97937c84fb1 100644
--- a/lisp/ChangeLog.15
+++ b/lisp/ChangeLog.15
@@ -5790,18 +5790,18 @@
5790 Enhance fontification of declarators to take account of the 5790 Enhance fontification of declarators to take account of the
5791 presence/absence of "typedef". 5791 presence/absence of "typedef".
5792 5792
5793 * cc-engine.el (c-forward-type): New &optional param 5793 * progmodes/cc-engine.el (c-forward-type): New &optional param
5794 "brace-block-too". 5794 "brace-block-too".
5795 (c-forward-decl-or-cast-1): cdr of return value now indicates the 5795 (c-forward-decl-or-cast-1): cdr of return value now indicates the
5796 presence of either or both of a "struct"-like keyword and "typedef". 5796 presence of either or both of a "struct"-like keyword and "typedef".
5797 5797
5798 * cc-fonts.el (c-complex-decl-matchers): Remove the heuristic 5798 * progmodes/cc-fonts.el (c-complex-decl-matchers): Remove the heuristic
5799 fontification of declarators which follow a "}". 5799 fontification of declarators which follow a "}".
5800 (c-font-lock-declarations): Fontify declarators according to the 5800 (c-font-lock-declarations): Fontify declarators according to the
5801 presence/absence of "typedef". 5801 presence/absence of "typedef".
5802 5802
5803 * cc-langs.el (c-typedef-kwds c-typedef-key): New lang variable 5803 * progmodes/cc-langs.el (c-typedef-kwds c-typedef-key):
5804 for "typedef". 5804 New lang variable for "typedef".
5805 (c-typedef-decl-key): New lang variable built from 5805 (c-typedef-decl-key): New lang variable built from
5806 c-typedef-decl-kwds. 5806 c-typedef-decl-kwds.
5807 5807
@@ -18135,6 +18135,10 @@
18135 18135
18136 * window.el (window-full-height-p): New function. (Bug#4543) 18136 * window.el (window-full-height-p): New function. (Bug#4543)
18137 18137
181382009-10-03 Chong Yidong <cyd@stupidchicken.com>
18139
18140 * files.el (auto-mode-alist): Add .srt and Project.ede.
18141
181382009-10-03 Dan Nicolaescu <dann@ics.uci.edu> 181422009-10-03 Dan Nicolaescu <dann@ics.uci.edu>
18139 18143
18140 * vc.el: Remove commented out code. 18144 * vc.el: Remove commented out code.
diff --git a/lisp/ChangeLog.16 b/lisp/ChangeLog.16
index 4d525d9b836..d3b3dd3a576 100644
--- a/lisp/ChangeLog.16
+++ b/lisp/ChangeLog.16
@@ -965,7 +965,7 @@
965 965
9662013-02-13 Yves Baumes <ybaumes@gmail.com> (tiny change) 9662013-02-13 Yves Baumes <ybaumes@gmail.com> (tiny change)
967 967
968 * lisp/emacs-lisp/package.el (package-menu-execute): 968 * emacs-lisp/package.el (package-menu-execute):
969 Add optional noquery argument. (Bug#13625) 969 Add optional noquery argument. (Bug#13625)
970 970
9712013-02-13 Michael Albinus <michael.albinus@gmx.de> 9712013-02-13 Michael Albinus <michael.albinus@gmx.de>
@@ -1408,7 +1408,7 @@
1408 1408
14092013-01-30 Jay Belanger <jay.p.belanger@gmail.com> 14092013-01-30 Jay Belanger <jay.p.belanger@gmail.com>
1410 1410
1411 * calc-units.el (math-default-units-table): Remove initial value. 1411 * calc/calc-units.el (math-default-units-table): Remove initial value.
1412 (calc-convert-units): Treat expressions where all the units cancel as 1412 (calc-convert-units): Treat expressions where all the units cancel as
1413 if they didn't have units. 1413 if they didn't have units.
1414 1414
@@ -1437,9 +1437,9 @@
14372013-01-29 Alan Mackenzie <acm@muc.de> 14372013-01-29 Alan Mackenzie <acm@muc.de>
1438 1438
1439 Amend to fontify /regexp/s in actions correctly. 1439 Amend to fontify /regexp/s in actions correctly.
1440 * cc-awk.el (c-awk-harmless-char-re, c-awk-harmless-string*-re): 1440 * progmodes/cc-awk.el (c-awk-harmless-char-re)
1441 (c-awk-harmless-string*-here-re): Braces, parens and semicolons 1441 (c-awk-harmless-string*-re, c-awk-harmless-string*-here-re):
1442 are no longer included. 1442 Braces, parens and semicolons are no longer included.
1443 (c-awk-harmless-line-char-re, c-awk-harmless-line-string*-re): 1443 (c-awk-harmless-line-char-re, c-awk-harmless-line-string*-re):
1444 What used to be these variables without "-line" in the name. 1444 What used to be these variables without "-line" in the name.
1445 (c-awk-neutral-re): { is no longer neutral. Escaped newlines now are. 1445 (c-awk-neutral-re): { is no longer neutral. Escaped newlines now are.
@@ -2813,7 +2813,7 @@
2813 2813
28142012-12-12 Jonas Bernoulli <jonas@bernoul.li> 28142012-12-12 Jonas Bernoulli <jonas@bernoul.li>
2815 2815
2816 * lisp/emacs-lisp/eieio.el: Prettier object pretty-printing (bug#13115). 2816 * emacs-lisp/eieio.el: Prettier object pretty-printing (bug#13115).
2817 (eieio-override-prin1): Don't quote kewords and booleans. 2817 (eieio-override-prin1): Don't quote kewords and booleans.
2818 (object-write) <eieio-default-superclass>: Don't put closing parens 2818 (object-write) <eieio-default-superclass>: Don't put closing parens
2819 on new line, avoid needless empty lines, align values that are objects 2819 on new line, avoid needless empty lines, align values that are objects
@@ -5041,13 +5041,13 @@
5041 * startup.el (command-line): Mark window system is initialized 5041 * startup.el (command-line): Mark window system is initialized
5042 after we've done it. 5042 after we've done it.
5043 5043
5044 * common-win.el (x-select-text): Look for w32, not windows-nt. 5044 * term/common-win.el (x-select-text): Look for w32, not windows-nt.
5045 5045
5046 * ns-win.el: Require cl-lib. Add ourselves to 5046 * term/ns-win.el: Require cl-lib. Add ourselves to
5047 display-format-alist. 5047 display-format-alist.
5048 (ns-initialize-window-system): Assert we're not initialized twice. 5048 (ns-initialize-window-system): Assert we're not initialized twice.
5049 5049
5050 * w32-win.el: Enable lexical binding; require cl-lib; add 5050 * term/w32-win.el: Enable lexical binding; require cl-lib; add
5051 ourselves to display-format-alist. 5051 ourselves to display-format-alist.
5052 (w32-handle-dropped-file): Convert incoming dropped files from 5052 (w32-handle-dropped-file): Convert incoming dropped files from
5053 Windows paths to Cygwin ones before passing them on to the rest of 5053 Windows paths to Cygwin ones before passing them on to the rest of
@@ -5055,7 +5055,7 @@
5055 (w32-drag-n-drop): New paramter new-frame. Simplify logic. 5055 (w32-drag-n-drop): New paramter new-frame. Simplify logic.
5056 (w32-initialize-window-system): Assert we're not initialized twice. 5056 (w32-initialize-window-system): Assert we're not initialized twice.
5057 5057
5058 * x-win.el: Require cl-lib; add ourselves to display-format-alist. 5058 * term/x-win.el: Require cl-lib; add ourselves to display-format-alist.
5059 (x-initialize-window-system): Assert we're not initialized twice. 5059 (x-initialize-window-system): Assert we're not initialized twice.
5060 5060
5061 * w32-common-fns.el: New File. 5061 * w32-common-fns.el: New File.
@@ -5894,8 +5894,8 @@
5894 5894
58952012-09-25 Wilson Snyder <wsnyder@wsnyder.org> 58952012-09-25 Wilson Snyder <wsnyder@wsnyder.org>
5896 5896
5897 * verilog-mode.el (verilog-auto-ascii-enum, verilog-auto-inout) 5897 * progmodes/verilog-mode.el (verilog-auto-ascii-enum)
5898 (verilog-auto-input, verilog-auto-insert-lisp) 5898 (verilog-auto-inout, verilog-auto-input, verilog-auto-insert-lisp)
5899 (verilog-auto-output, verilog-auto-output-every, verilog-auto-reg) 5899 (verilog-auto-output, verilog-auto-output-every, verilog-auto-reg)
5900 (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-undef) 5900 (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-undef)
5901 (verilog-auto-unused, verilog-auto-wire) 5901 (verilog-auto-unused, verilog-auto-wire)
@@ -8101,7 +8101,7 @@
8101 8101
81022012-08-04 Michal Nazarewicz <mina86@mina86.com> 81022012-08-04 Michal Nazarewicz <mina86@mina86.com>
8103 8103
8104 * lisp/mpc.el: Support password in host argument. 8104 * mpc.el: Support password in host argument.
8105 (mpc--proc-connect): Parse and use new password element. 8105 (mpc--proc-connect): Parse and use new password element.
8106 Set mpc-proc variable instead of returning process. 8106 Set mpc-proc variable instead of returning process.
8107 (mpc-proc): Adjust accordingly. 8107 (mpc-proc): Adjust accordingly.
@@ -8204,17 +8204,17 @@
8204 8204
82052012-07-31 Jay Belanger <jay.p.belanger@gmail.com> 82052012-07-31 Jay Belanger <jay.p.belanger@gmail.com>
8206 8206
8207 * calc-mode.el (calc-basic-simplification-mode): Rename from 8207 * calc/calc-mode.el (calc-basic-simplification-mode): Rename from
8208 `calc-limited-simplification-mode'. 8208 `calc-limited-simplification-mode'.
8209 (calc-alg-simplification-mode): New function. 8209 (calc-alg-simplification-mode): New function.
8210 (calc-set-simplify-mode): Adjust message. 8210 (calc-set-simplify-mode): Adjust message.
8211 8211
8212 * calc.el (calc-set-mode-line): Adjust mode line display for 8212 * calc/calc.el (calc-set-mode-line): Adjust mode line display for
8213 basic simplification mode. 8213 basic simplification mode.
8214 8214
8215 * calc-help.el (calc-m-prefix-help): Update help message. 8215 * calc/calc-help.el (calc-m-prefix-help): Update help message.
8216 8216
8217 * calc-ext.el (calc-init-extensions): Add bindings and autoloads 8217 * calc/calc-ext.el (calc-init-extensions): Add bindings and autoloads
8218 for `calc-basic-simplify-mode' and `calc-alg-simplify-mode'. 8218 for `calc-basic-simplify-mode' and `calc-alg-simplify-mode'.
8219 8219
82202012-07-31 Bastien Guerry <bzg@gnu.org> 82202012-07-31 Bastien Guerry <bzg@gnu.org>
diff --git a/lisp/ChangeLog.3 b/lisp/ChangeLog.3
index ce9c9e791bf..a39e817ae3c 100644
--- a/lisp/ChangeLog.3
+++ b/lisp/ChangeLog.3
@@ -11004,7 +11004,7 @@
110041989-06-23 Joseph Arceneaux (jla@all-bran.ai.mit.edu) 110041989-06-23 Joseph Arceneaux (jla@all-bran.ai.mit.edu)
11005 11005
11006 * term/x-win.el (x-pop-up-window): Run hook x-pop-up-window-hook. 11006 * term/x-win.el (x-pop-up-window): Run hook x-pop-up-window-hook.
11007 (x-color-screen-p): New macro; used to be C function. 11007 (x-color-screen-p): New macro; used to be C function in xfns.c.
11008 11008
110091989-06-22 Richard Stallman (rms@mole.ai.mit.edu) 110091989-06-22 Richard Stallman (rms@mole.ai.mit.edu)
11010 11010
diff --git a/lisp/ChangeLog.9 b/lisp/ChangeLog.9
index e73b0d21f40..c0bf9824b4c 100644
--- a/lisp/ChangeLog.9
+++ b/lisp/ChangeLog.9
@@ -2437,20 +2437,6 @@
2437 2437
2438 * emacs-lisp/elp.el: A fix to follow coding conventions. 2438 * emacs-lisp/elp.el: A fix to follow coding conventions.
2439 2439
2440 * gnus/binhex.el, gnus/binhex.el, gnus/earcon.el,
2441 * gnus/gnus-agent.el, gnus/gnus-art.el, gnus/gnus-audio.el,
2442 * gnus/gnus-logic.el, gnus/gnus-ml.el, gnus/gnus-mlspl.el,
2443 * gnus/gnus-setup.el, gnus/gnus-srvr.el, gnus/gnus-sum.el,
2444 * gnus/gnus-uu.el, gnus/gnus-vm.el, gnus/ietf-drums.el,
2445 * gnus/mail-parse.el, gnus/mail-prsvr.el, gnus/mail-source.el,
2446 * gnus/mm-bodies.el, gnus/mm-decode.el, gnus/mm-encode.el,
2447 * gnus/mm-partial.el, gnus/mm-util.el, gnus/mm-uu.el,
2448 * gnus/mm-view.el, gnus/mml.el, gnus/nnimap.el, gnus/nnoo.el,
2449 * gnus/parse-time.el, gnus/rfc1843.el, gnus/rfc2045.el,
2450 * gnus/rfc2047.el, gnus/rfc2104.el, gnus/rfc2231.el,
2451 * gnus/time-date.el, gnus/uudecode.el: Some fixes to follow coding
2452 conventions in files from Gnus.
2453
2454 * abbrevlist.el, array.el, buff-menu.el, calendar/appt.el, 2440 * abbrevlist.el, array.el, buff-menu.el, calendar/appt.el,
2455 * case-table.el, cdl.el, cmuscheme.el, compare-w.el, completion.el, 2441 * case-table.el, cdl.el, cmuscheme.el, compare-w.el, completion.el,
2456 * custom.el, derived.el, dired-aux.el, disp-table.el, dos-vars.el, 2442 * custom.el, derived.el, dired-aux.el, disp-table.el, dos-vars.el,
@@ -2569,7 +2555,7 @@
2569 2555
25702001-07-10 Martin Stjernholm <bug-cc-mode@gnu.org> 25562001-07-10 Martin Stjernholm <bug-cc-mode@gnu.org>
2571 2557
2572 * cc-cmds.el (c-indent-exp): Keep the indentation of the block 2558 * progmodes/cc-cmds.el (c-indent-exp): Keep the indentation of the block
2573 itself, i.e. only indent the contents in it. 2559 itself, i.e. only indent the contents in it.
2574 2560
25752001-07-10 Markus Rost <rost@math.ohio-state.edu> 25612001-07-10 Markus Rost <rost@math.ohio-state.edu>
@@ -2601,7 +2587,7 @@
2601 2587
26022001-07-09 Martin Stjernholm <bug-cc-mode@gnu.org> 25882001-07-09 Martin Stjernholm <bug-cc-mode@gnu.org>
2603 2589
2604 * cc-cmds.el: Extended the kludge to interoperate with the 2590 * progmodes/cc-cmds.el: Extended the kludge to interoperate with the
2605 delsel and pending-del packages wrt to the new function 2591 delsel and pending-del packages wrt to the new function
2606 `c-electric-delete-forward'. 2592 `c-electric-delete-forward'.
2607 2593
@@ -3648,14 +3634,14 @@
3648 3634
36492001-05-04 Martin Stjernholm <bug-cc-mode@gnu.org> 36352001-05-04 Martin Stjernholm <bug-cc-mode@gnu.org>
3650 3636
3651 * cc-cmds.el (c-electric-delete, c-electric-delete-forward): 3637 * progmodes/cc-cmds.el (c-electric-delete, c-electric-delete-forward):
3652 Split `c-electric-delete' into two functions where 3638 Split `c-electric-delete' into two functions where
3653 `c-electric-delete-forward' always deletes forward and 3639 `c-electric-delete-forward' always deletes forward and
3654 `c-electric-delete' only contains the code necessary for XEmacs to 3640 `c-electric-delete' only contains the code necessary for XEmacs to
3655 choose between backward and forward deletion. 3641 choose between backward and forward deletion.
3656 3642
3657 * cc-mode.el: `c-electric-delete-forward' is now bound to C-d to 3643 * progmodes/cc-mode.el: `c-electric-delete-forward' is now bound
3658 get the electric behavior on that key too. 3644 to C-d to get the electric behavior on that key too.
3659 (c-fill-paragraph): Fixed bogus direct use of 3645 (c-fill-paragraph): Fixed bogus direct use of
3660 c-comment-prefix-regexp, which caused an error when it's a list. 3646 c-comment-prefix-regexp, which caused an error when it's a list.
3661 3647
@@ -4463,53 +4449,54 @@
4463 4449
44642000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 44502000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4465 4451
4466 * cc-mode.el, cc-vars.el (c-common-init, c-default-style): 4452 * progmodes/cc-mode.el, progmodes/cc-vars.el (c-common-init)
4453 (c-default-style):
4467 Removed the hardcoded switch to "java" style in Java mode. 4454 Removed the hardcoded switch to "java" style in Java mode.
4468 It's instead taken care of by the default value for c-default-style. 4455 It's instead taken care of by the default value for c-default-style.
4469 4456
44702000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 44572000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4471 4458
4472 * cc-align.el (c-lineup-math): Fix bug where lineup was 4459 * progmodes/cc-align.el (c-lineup-math): Fix bug where lineup was
4473 triggered by equal signs in string literals. 4460 triggered by equal signs in string literals.
4474 4461
44752000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 44622000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4476 4463
4477 * cc-cmds.el (c-fill-paragraph): Fixed bug in the paragraph 4464 * progmodes/cc-cmds.el (c-fill-paragraph): Fixed bug in the paragraph
4478 limit detection when at the ends of the buffer. 4465 limit detection when at the ends of the buffer.
4479 4466
4480 * cc-engine.el (c-guess-basic-syntax): Removed bogus check for 4467 * progmodes/cc-engine.el (c-guess-basic-syntax): Removed bogus check for
4481 "for" statement clause in case 7F; a better one is done 4468 "for" statement clause in case 7F; a better one is done
4482 earlier in case 7D anyway. 4469 earlier in case 7D anyway.
4483 4470
44842000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 44712000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4485 4472
4486 * cc-cmds.el (c-guess-fill-prefix): Improved the heuristics 4473 * progmodes/cc-cmds.el (c-guess-fill-prefix): Improved the heuristics
4487 somewhat more and did a small optimization. 4474 somewhat more and did a small optimization.
4488 4475
44892000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 44762000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4490 4477
4491 * cc-cmds.el (c-beginning-of-statement, c-end-of-statement): 4478 * progmodes/cc-cmds.el (c-beginning-of-statement, c-end-of-statement):
4492 Use the limit argument only to limit the syntactic context 4479 Use the limit argument only to limit the syntactic context
4493 search, not to limit the actual movement. 4480 search, not to limit the actual movement.
4494 4481
4495 * cc-cmds.el (c-beginning-of-statement): Move by sentence 4482 * progmodes/cc-cmds.el (c-beginning-of-statement): Move by sentence
4496 inside multiline strings, just like in comments. Also various 4483 inside multiline strings, just like in comments. Also various
4497 fixes to the paragraph and comment prefix recognition, block 4484 fixes to the paragraph and comment prefix recognition, block
4498 comment ender handling etc. 4485 comment ender handling etc.
4499 4486
45002000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 44872000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4501 4488
4502 * cc-cmds.el (c-fill-paragraph): Take more care to preserve 4489 * progmodes/cc-cmds.el (c-fill-paragraph): Take more care to preserve
4503 the relative position of the point. 4490 the relative position of the point.
4504 4491
4505 * cc-cmds.el (c-electric-continued-statement): New function to 4492 * progmodes/cc-cmds.el (c-electric-continued-statement): New function to
4506 use as abbrev hook to reindent for keywords such as "else" 4493 use as abbrev hook to reindent for keywords such as "else"
4507 that continues an earlier statement. 4494 that continues an earlier statement.
4508 4495
4509 * cc-menus.el (cc-imenu-c++-generic-expression): Treat structs 4496 * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Treat structs
4510 like classes. 4497 like classes.
4511 4498
4512 * cc-mode.el (c-mode, c++-mode, java-mode, objc-mode) 4499 * progmodes/cc-mode.el (c-mode, c++-mode, java-mode, objc-mode)
4513 (pike-mode): Populate the default abbrev tables to reindent for 4500 (pike-mode): Populate the default abbrev tables to reindent for
4514 keywords such as "else" that can continue earlier statements. 4501 keywords such as "else" that can continue earlier statements.
4515 Abbrev mode is therefore turned on by default now. (Note that 4502 Abbrev mode is therefore turned on by default now. (Note that
@@ -4518,30 +4505,30 @@
4518 4505
45192000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 45062000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4520 4507
4521 * cc-engine.el (c-inside-bracelist-p): Fix for handling 4508 * progmodes/cc-engine.el (c-inside-bracelist-p): Fix for handling
4522 bracelists where the declaration contains template arguments. 4509 bracelists where the declaration contains template arguments.
4523 4510
45242000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 45112000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4525 4512
4526 * cc-cmds.el (c-comment-indent): 4513 * progmodes/cc-cmds.el (c-comment-indent):
4527 Use `c-get-syntactic-indentation' to correctly calculate the 4514 Use `c-get-syntactic-indentation' to correctly calculate the
4528 syntactic indentation. Fixes bug with lineup functions that 4515 syntactic indentation. Fixes bug with lineup functions that
4529 return vectors. 4516 return vectors.
4530 4517
4531 * cc-engine.el (c-get-syntactic-indentation): Split the 4518 * progmodes/cc-engine.el (c-get-syntactic-indentation): Split the
4532 indentation sum calculation from `c-indent-line' to a separate 4519 indentation sum calculation from `c-indent-line' to a separate
4533 function. 4520 function.
4534 4521
45352000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 45222000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4536 4523
4537 * cc-cmds.el (c-beginning-of-statement, c-comment-indent): 4524 * progmodes/cc-cmds.el (c-beginning-of-statement, c-comment-indent):
4538 Fixed places where it was assumed that preprocessor directives 4525 Fixed places where it was assumed that preprocessor directives
4539 have to start in column zero. 4526 have to start in column zero.
4540 4527
4541 * cc-engine.el (c-beginning-of-member-init-list): Handle C++ 4528 * progmodes/cc-engine.el (c-beginning-of-member-init-list): Handle C++
4542 template arguments after a class identifier properly. 4529 template arguments after a class identifier properly.
4543 4530
4544 * cc-engine.el (c-guess-basic-syntax): Treat initializer brace 4531 * progmodes/cc-engine.el (c-guess-basic-syntax): Treat initializer brace
4545 lists for `new Foo[]' constructs in Java as expressions and 4532 lists for `new Foo[]' constructs in Java as expressions and
4546 not top level definition brace lists on the top level, so that 4533 not top level definition brace lists on the top level, so that
4547 they'll get indented consistently with the same type of 4534 they'll get indented consistently with the same type of
@@ -4549,25 +4536,26 @@
4549 4536
45502000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 45372000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4551 4538
4552 * cc-cmds.el (c-fill-paragraph): The kludge that checks 4539 * progmodes/cc-cmds.el (c-fill-paragraph): The kludge that checks
4553 whether the adaptive filling package fails to keep the comment 4540 whether the adaptive filling package fails to keep the comment
4554 prefix is now kludged further to check for filladapt-mode 4541 prefix is now kludged further to check for filladapt-mode
4555 which doesn't have that problem. This is really icky, but it's 4542 which doesn't have that problem. This is really icky, but it's
4556 the only way that works with the current misfeatures/bugs in 4543 the only way that works with the current misfeatures/bugs in
4557 both adaptive-fill-mode and filladapt-mode. 4544 both adaptive-fill-mode and filladapt-mode.
4558 4545
4559 * cc-cmds.el (c-fill-paragraph): Made the way the paragraph 4546 * progmodes/cc-cmds.el (c-fill-paragraph): Made the way the paragraph
4560 around point is recognized more robust. 4547 around point is recognized more robust.
4561 4548
45622000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 45492000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4563 4550
4564 * cc-cmds.el, cc-engine.el, cc-lobotomy.el (c-state-cache) 4551 * progmodes/cc-cmds.el, progmodes/cc-engine.el:
4552 * progmodes/cc-lobotomy.el (c-state-cache)
4565 (c-in-literal-cache, c-auto-fill-prefix, c-lit-limits) 4553 (c-in-literal-cache, c-auto-fill-prefix, c-lit-limits)
4566 (c-lit-type): Fixed all internal variables used dynamically so 4554 (c-lit-type): Fixed all internal variables used dynamically so
4567 that they are always bound. 4555 that they are always bound.
4568 4556
4569 * cc-cmds.el, cc-engine.el: Improved recovery of syntactic 4557 * progmodes/cc-cmds.el, progmodes/cc-engine.el:
4570 errors: 4558 Improve recovery of syntactic errors:
4571 4559
4572 (c-indent-region): Fixed reporting of syntactic errors so that 4560 (c-indent-region): Fixed reporting of syntactic errors so that
4573 the region is fully reindented even when an error occurs. 4561 the region is fully reindented even when an error occurs.
@@ -4594,22 +4582,23 @@
4594 4582
45952000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 45832000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4596 4584
4597 * cc-cmds.el (c-beginning-of-statement): Fixed bugs with 4585 * progmodes/cc-cmds.el (c-beginning-of-statement): Fixed bugs with
4598 paragraph recognition when moving by sentence in literals. 4586 paragraph recognition when moving by sentence in literals.
4599 4587
4600 * cc-langs.el (c-Java-javadoc-paragraph-start): Modified paragraph 4588 * progmodes/cc-langs.el (c-Java-javadoc-paragraph-start): Modified
4601 start regexp for javadoc to recognize javadoc markup in general instead 4589 paragraph start regexp for javadoc to recognize javadoc markup in
4602 of a specific set of keywords, to be more future-safe. 4590 general instead of a specific set of keywords, to be more future-safe.
4603 4591
4604 (c-Pike-pikedoc-paragraph-start) 4592 (c-Pike-pikedoc-paragraph-start)
4605 (c-Pike-pikedoc-paragraph-separate): New regexps to recognize 4593 (c-Pike-pikedoc-paragraph-separate): New regexps to recognize
4606 pikedoc markup. 4594 pikedoc markup.
4607 4595
4608 * cc-mode.el: Fixed initialization and use of c-current-comment-prefix. 4596 * progmodes/cc-mode.el:
4597 Fixed initialization and use of c-current-comment-prefix.
4609 4598
4610 (pike-mode): Initialize paragraph settings pikedoc recognition. 4599 (pike-mode): Initialize paragraph settings pikedoc recognition.
4611 4600
4612 * cc-vars.el (c-default-style): Made a nicer Customize widget. 4601 * progmodes/cc-vars.el (c-default-style): Made a nicer Customize widget.
4613 4602
4614 (c-comment-prefix-regexp): Made it possible to use an 4603 (c-comment-prefix-regexp): Made it possible to use an
4615 association list on this to specify mode specific regexps. 4604 association list on this to specify mode specific regexps.
@@ -4621,114 +4610,116 @@
4621 4610
46222000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46112000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4623 4612
4624 * cc-cmds.el (c-electric-brace): Fixed check for special brace 4613 * progmodes/cc-cmds.el (c-electric-brace): Fixed check for special brace
4625 lists: We can't look at the syntax, since a brace list can get 4614 lists: We can't look at the syntax, since a brace list can get
4626 recognized as a plain statement-cont. 4615 recognized as a plain statement-cont.
4627 4616
4628 * cc-engine.el (c-guess-basic-syntax): Fixed bug where a 4617 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug where a
4629 special brace list opener broken over two lines got recognized 4618 special brace list opener broken over two lines got recognized
4630 as a statement on the second line. Case 9A changed. 4619 as a statement on the second line. Case 9A changed.
4631 4620
46322000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46212000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4633 4622
4634 * cc-cmds.el (c-electric-brace): Fixed bug in c-state-cache 4623 * progmodes/cc-cmds.el (c-electric-brace): Fixed bug in c-state-cache
4635 adjustment after line is reindented. 4624 adjustment after line is reindented.
4636 4625
46372000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46262000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4638 4627
4639 * cc-defs.el (c-point): Added optional argument for position 4628 * progmodes/cc-defs.el (c-point): Added optional argument for position
4640 to use instead of the current point. 4629 to use instead of the current point.
4641 4630
4642 * cc-defs.el, cc-engine.el (c-add-class-syntax): Do not add 4631 * progmodes/cc-defs.el, progmodes/cc-engine.el (c-add-class-syntax):
4643 the in-expression block symbols when the construct starts at 4632 Do not add the in-expression block symbols when the construct
4644 boi, to avoid the extra level of indentation in that case. 4633 starts at boi, to avoid the extra level of indentation in that case.
4645 Cases 4, 16A and 17E affected. 4634 Cases 4, 16A and 17E affected.
4646 4635
46472000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46362000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4648 4637
4649 * cc-cmds.el: Use `indent-according-to-mode' instead of direct 4638 * progmodes/cc-cmds.el: Use `indent-according-to-mode' instead of direct
4650 calls to `c-indent-line', to adhere better to Emacs conventions. 4639 calls to `c-indent-line', to adhere better to Emacs conventions.
4651 4640
4652 * cc-engine.el (c-indent-line): Use the syntax already bound 4641 * progmodes/cc-engine.el (c-indent-line): Use the syntax already bound
4653 to `c-syntactic-context', if there is any. 4642 to `c-syntactic-context', if there is any.
4654 4643
46552000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46442000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4656 4645
4657 * cc-engine.el (c-get-offset): Fixed bug where the indentation 4646 * progmodes/cc-engine.el (c-get-offset): Fixed bug where the indentation
4658 wasn't added up correctly when a lineup function returned nil. 4647 wasn't added up correctly when a lineup function returned nil.
4659 4648
46602000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46492000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4661 4650
4662 * cc-engine.el (c-collect-line-comments): Fixed bug where 4651 * progmodes/cc-engine.el (c-collect-line-comments): Fixed bug where
4663 empty lines were ignored when collecting line comments backwards. 4652 empty lines were ignored when collecting line comments backwards.
4664 4653
46652000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46542000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4666 4655
4667 * cc-align.el (c-lineup-dont-change): Return an absolute 4656 * progmodes/cc-align.el (c-lineup-dont-change): Return an absolute
4668 indentation column to work correctly in the case when several 4657 indentation column to work correctly in the case when several
4669 syntactic elements are processed for the same line. 4658 syntactic elements are processed for the same line.
4670 4659
4671 * cc-engine.el, cc-styles.el, cc-vars.el (c-evaluate-offset) 4660 * progmodes/cc-engine.el, progmodes/cc-styles.el:
4661 * progmodes/cc-vars.el (c-evaluate-offset)
4672 (c-get-offset, c-indent-line, c-valid-offset, c-read-offset) 4662 (c-get-offset, c-indent-line, c-valid-offset, c-read-offset)
4673 (c-set-offset): Added absolute indentation column settings by 4663 (c-set-offset): Added absolute indentation column settings by
4674 using the vector type. 4664 using the vector type.
4675 4665
46762000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46662000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4677 4667
4678 * cc-cmds.el, cc-vars.el (c-electric-paren, c-cleanup-list): 4668 * progmodes/cc-cmds.el, progmodes/cc-vars.el
4669 (c-electric-paren, c-cleanup-list):
4679 Implemented two new cleanups `space-before-funcall' and 4670 Implemented two new cleanups `space-before-funcall' and
4680 `compact-empty-funcall'. 4671 `compact-empty-funcall'.
4681 4672
46822000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46732000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4683 4674
4684 * cc-defs.el (c-paren-re, c-identifier-re): Two new macros for 4675 * progmodes/cc-defs.el (c-paren-re, c-identifier-re): Two new macros for
4685 helping building regexps. 4676 helping building regexps.
4686 4677
4687 * cc-engine.el (c-on-identifier): New function for detecting 4678 * progmodes/cc-engine.el (c-on-identifier): New function for detecting
4688 identifiers. It takes keywords into account. 4679 identifiers. It takes keywords into account.
4689 4680
4690 * cc-langs.el, cc-mode.el: Added regexps for complete keyword 4681 * progmodes/cc-langs.el, progmodes/cc-mode.el: Added regexps for
4691 lists. `c-keywords' is set to a regexp matching all keywords 4682 complete keyword lists. `c-keywords' is set to a regexp matching
4692 in the current language. 4683 all keywords in the current language.
4693 4684
46942000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46852000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4695 4686
4696 * cc-engine.el (c-beginning-of-statement-1): Added '#' to the 4687 * progmodes/cc-engine.el (c-beginning-of-statement-1): Added '#' to the
4697 list of characters to skip backwards over at the beginning of 4688 list of characters to skip backwards over at the beginning of
4698 a statement, since it can precede string literals in Pike. 4689 a statement, since it can precede string literals in Pike.
4699 4690
47002000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 46912000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4701 4692
4702 * cc-cmds.el (c-guess-fill-prefix): Fixed bug with prefix 4693 * progmodes/cc-cmds.el (c-guess-fill-prefix): Fixed bug with prefix
4703 recognition when standing on the last line in a C++ comment 4694 recognition when standing on the last line in a C++ comment
4704 with nothing but whitespace after the prefix. 4695 with nothing but whitespace after the prefix.
4705 4696
4706 * cc-engine.el (c-backward-to-start-of-if): Fixed bug when 4697 * progmodes/cc-engine.el (c-backward-to-start-of-if): Fixed bug when
4707 given no limit argument. 4698 given no limit argument.
4708 4699
47092000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 47002000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4710 4701
4711 * cc-engine.el (c-inside-bracelist-p): Fixed brace list 4702 * progmodes/cc-engine.el (c-inside-bracelist-p): Fixed brace list
4712 recognition for the `[]= operator symbol in Pike. 4703 recognition for the `[]= operator symbol in Pike.
4713 4704
47142000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 47052000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4715 4706
4716 * cc-bytecomp.el (cc-eval-when-compile): New macro that works 4707 * progmodes/cc-bytecomp.el (cc-eval-when-compile): New macro that works
4717 around a bug in `eval-when-compile' in the byte compiler. 4708 around a bug in `eval-when-compile' in the byte compiler.
4718 4709
4719 * cc-engine.el (c-forward-token-1): Fixed bug with return 4710 * progmodes/cc-engine.el (c-forward-token-1): Fixed bug with return
4720 value when count is zero and there's no token start within the limit. 4711 value when count is zero and there's no token start within the limit.
4721 4712
4722 (c-guess-basic-syntax): Don't add 'comment-intro to lines with 4713 (c-guess-basic-syntax): Don't add 'comment-intro to lines with
4723 "prefix comments", i.e. comments which are followed by code on 4714 "prefix comments", i.e. comments which are followed by code on
4724 the same line. 4715 the same line.
4725 4716
4726 * cc-mode-19.el: Fixes so that checks that must be done at 4717 * progmodes/cc-mode-19.el: Fixes so that checks that must be done at
4727 compile time also are done then. 4718 compile time also are done then.
4728 4719
47292000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 47202000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4730 4721
4731 * cc-defs.el: Make sure cc-mode-19 is loaded both at compile 4722 * progmodes/cc-defs.el: Make sure cc-mode-19 is loaded both at compile
4732 time and at runtime, and only when it's needed. 4723 time and at runtime, and only when it's needed.
4733 4724
47342000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 47252000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
@@ -4738,7 +4729,7 @@
4738 compilation orders. Thanks to Martin Buchholz for providing 4729 compilation orders. Thanks to Martin Buchholz for providing
4739 the basis for all this. 4730 the basis for all this.
4740 4731
4741 * cc-bytecomp.el: New file that provides some byte compilation 4732 * progmodes/cc-bytecomp.el: New file that provides some byte compilation
4742 features: It ensures that files always are loaded from the 4733 features: It ensures that files always are loaded from the
4743 current source directory during compilation, and it provides a 4734 current source directory during compilation, and it provides a
4744 set of macros to turn off specific compiler warnings for 4735 set of macros to turn off specific compiler warnings for
@@ -4747,61 +4738,62 @@
4747 Fixed a nearly acyclic dependency tree (both runtime and 4738 Fixed a nearly acyclic dependency tree (both runtime and
4748 compile-time) between all files. 4739 compile-time) between all files.
4749 4740
4750 * cc-defs.el: Separated all macros before the inline functions, 4741 * progmodes/cc-defs.el: Separated all macros before the
4751 to ensure correct compilation. 4742 inline functions, to ensure correct compilation.
4752 4743
4753 * cc-defs.el, cc-engine.el: Moved c-beginning-of-macro to from 4744 * progmodes/cc-defs.el, progmodes/cc-engine.el: Moved
4754 cc-defs.el to cc-engine.el and made it a function instead. 4745 c-beginning-of-macro to from cc-defs.el to cc-engine.el and
4746 made it a function instead.
4755 4747
4756 * cc-mode-19.el: Patch the byte compiler in Emacs 19 not to warn 4748 * progmodes/cc-mode-19.el: Patch the byte compiler in Emacs 19
4757 about char-after. 4749 not to warn about char-after.
4758 4750
4759 * cc-vars.el: Cope even when there isn't a custom package 4751 * progmodes/cc-vars.el: Cope even when there isn't a custom package
4760 containing defcustom available. 4752 containing defcustom available.
4761 4753
4762 * cc-make.el: Removed since it's no longer necessary. 4754 * progmodes/cc-make.el: Removed since it's no longer necessary.
4763 4755
4764 README: Updated installation instructions. 4756 README: Updated installation instructions.
4765 4757
47662000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 47582000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4767 4759
4768 * cc-cmds.el, cc-langs.el, cc-mode.el: Moved around things to 4760 * progmodes/cc-cmds.el, progmodes/cc-langs.el, progmodes/cc-mode.el:
4769 improve the modularity: Moved all mode init stuff from 4761 Moved around things to improve the modularity:
4770 cc-langs.el to cc-mode.el, including the keymap 4762 Moved all mode init stuff from cc-langs.el to cc-mode.el,
4771 initialization; cc-langs now only contains the various 4763 including the keymap initialization; cc-langs now only contains
4772 variables for configuring the language syntax. 4764 the various variables for configuring the language syntax.
4773 4765
4774 * cc-engine.el, cc-styles.el (c-evaluate-offset) 4766 * progmodes/cc-engine.el, progmodes/cc-styles.el (c-evaluate-offset)
4775 (c-get-offset): Moved from cc-styles to cc-engine since file 4767 (c-get-offset): Moved from cc-styles to cc-engine since file
4776 dependency analysis suggests they belong there (which also 4768 dependency analysis suggests they belong there (which also
4777 makes more sense). Thanks to Martin Buchholz for doing the analysis. 4769 makes more sense). Thanks to Martin Buchholz for doing the analysis.
4778 4770
47792000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 47712000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4780 4772
4781 * cc-cmds.el (c-fn-region-is-active-p): New function that 4773 * progmodes/cc-cmds.el (c-fn-region-is-active-p): New function that
4782 wraps the corresponding macro, for use in places that aren't 4774 wraps the corresponding macro, for use in places that aren't
4783 compiled. Thanks to Martin Buchholz for pointing out this. 4775 compiled. Thanks to Martin Buchholz for pointing out this.
4784 4776
4785 * cc-langs.el (c-mode-menu): Use c-fn-region-is-active-p. 4777 * progmodes/cc-langs.el (c-mode-menu): Use c-fn-region-is-active-p.
4786 4778
4787 * cc-mode.el (c-prepare-bug-report-hooks): Hook variable to 4779 * progmodes/cc-mode.el (c-prepare-bug-report-hooks): Hook variable to
4788 add things to the bug report. 4780 add things to the bug report.
4789 4781
47902000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 47822000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4791 4783
4792 * cc-cmds.el (c-guess-fill-prefix): Fixed bug where the 4784 * progmodes/cc-cmds.el (c-guess-fill-prefix): Fixed bug where the
4793 returned prefix could contain a newline when the search for a 4785 returned prefix could contain a newline when the search for a
4794 good prefix line failed. 4786 good prefix line failed.
4795 4787
47962000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 47882000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4797 4789
4798 * cc-cmds.el (c-toggle-auto-state, c-toggle-hungry-state) 4790 * progmodes/cc-cmds.el (c-toggle-auto-state, c-toggle-hungry-state)
4799 (c-toggle-auto-hungry-state): Made the argument optional, as 4791 (c-toggle-auto-hungry-state): Made the argument optional, as
4800 the documentation says it is. 4792 the documentation says it is.
4801 4793
48022000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org> 47942000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
4803 4795
4804 * cc-engine.el (c-guess-basic-syntax): Don't treat the Pike 4796 * progmodes/cc-engine.el (c-guess-basic-syntax): Don't treat the Pike
4805 multiline string syntax, #"...", as a cpp macro. 4797 multiline string syntax, #"...", as a cpp macro.
4806 4798
48072001-03-21 Paul Eggert <eggert@twinsun.com> 47992001-03-21 Paul Eggert <eggert@twinsun.com>
@@ -15271,31 +15263,31 @@
15271 15263
152722000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 152642000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15273 15265
15274 * cc-engine.el (c-looking-at-inexpr-block): Replaced a call to 15266 * progmodes/cc-engine.el (c-looking-at-inexpr-block): Replaced a call to
15275 c-beginning-of-statement-1 that caused a bad case of recursion 15267 c-beginning-of-statement-1 that caused a bad case of recursion
15276 which could consume a lot of CPU in large classes in languages 15268 which could consume a lot of CPU in large classes in languages
15277 that have in-expression classes (i.e. Java and Pike). 15269 that have in-expression classes (i.e. Java and Pike).
15278 15270
15279 * cc-engine.el (c-guess-basic-syntax): Check for in-expression 15271 * progmodes/cc-engine.el (c-guess-basic-syntax): Check for in-expression
15280 statements before top level constructs (i.e. case 6 is moved 15272 statements before top level constructs (i.e. case 6 is moved
15281 before case 5 and is now case 4) to catch in-expression 15273 before case 5 and is now case 4) to catch in-expression
15282 classes in top level expressions correctly. 15274 classes in top level expressions correctly.
15283 15275
152842000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 152762000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15285 15277
15286 * cc-engine.el (c-guess-basic-syntax): Less naive handling of 15278 * progmodes/cc-engine.el (c-guess-basic-syntax): Less naive handling of
15287 objc-method-intro. Case 4 removed and case 5I added. 15279 objc-method-intro. Case 4 removed and case 5I added.
15288 15280
15289 * cc-langs.el (c-append-paragraph-start): New variable used by 15281 * progmodes/cc-langs.el (c-append-paragraph-start): New variable used by
15290 c-common-init to get paragraph-start correct. 15282 c-common-init to get paragraph-start correct.
15291 * cc-langs.el (c-common-init): Use c-append-paragraph-start to 15283 * progmodes/cc-langs.el (c-common-init): Use c-append-paragraph-start to
15292 initialize paragraph-start to make it correct both with and 15284 initialize paragraph-start to make it correct both with and
15293 without the javadoc special case. 15285 without the javadoc special case.
15294 15286
15295 * cc-mode.el (java-mode): Use c-append-paragraph-start to 15287 * progmodes/cc-mode.el (java-mode): Use c-append-paragraph-start to
15296 initialize paragraph-start for javadoc markup. 15288 initialize paragraph-start for javadoc markup.
15297 15289
15298 * cc-vars.el (c-style-variables-are-local-p): Incompatible 15290 * progmodes/cc-vars.el (c-style-variables-are-local-p): Incompatible
15299 change by defaulting this to t. It's motivated by the 15291 change by defaulting this to t. It's motivated by the
15300 confusing behavior that otherwise arise from the style system 15292 confusing behavior that otherwise arise from the style system
15301 when editing both java and non-java files at the same time 15293 when editing both java and non-java files at the same time
@@ -15303,84 +15295,84 @@
15303 15295
153042000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 152962000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15305 15297
15306 * cc-cmds.el (c-indent-new-comment-line): Added a kludge 15298 * progmodes/cc-cmds.el (c-indent-new-comment-line): Added a kludge
15307 similar to the one in c-fill-paragraph to check the fill 15299 similar to the one in c-fill-paragraph to check the fill
15308 prefix from the adaptive fill function for sanity. 15300 prefix from the adaptive fill function for sanity.
15309 15301
153102000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 153022000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15311 15303
15312 * cc-defs.el (c-end-of-defun-1): Fixed forward scanning into 15304 * progmodes/cc-defs.el (c-end-of-defun-1): Fixed forward scanning into
15313 defun block. 15305 defun block.
15314 15306
153152000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 153072000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15316 15308
15317 * cc-align.el (c-lineup-multi-inher): Handle lines with 15309 * progmodes/cc-align.el (c-lineup-multi-inher): Handle lines with
15318 leading comma nicely. Extended to handle member initializers 15310 leading comma nicely. Extended to handle member initializers
15319 too. 15311 too.
15320 15312
15321 * cc-engine.el (c-beginning-of-inheritance-list) 15313 * progmodes/cc-engine.el (c-beginning-of-inheritance-list)
15322 (c-guess-basic-syntax): Fixed recognition of inheritance lists 15314 (c-guess-basic-syntax): Fixed recognition of inheritance lists
15323 when the lines begins with a comma. 15315 when the lines begins with a comma.
15324 15316
15325 * cc-vars.el (c-offsets-alist): Changed default for 15317 * progmodes/cc-vars.el (c-offsets-alist): Changed default for
15326 member-init-cont to c-lineup-multi-inher since it now handles 15318 member-init-cont to c-lineup-multi-inher since it now handles
15327 member initializers and indents better for leading commas. 15319 member initializers and indents better for leading commas.
15328 15320
153292000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 153212000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15330 15322
15331 * cc-cmds.el (c-electric-brace): Fixed some bugs in the state 15323 * progmodes/cc-cmds.el (c-electric-brace): Fixed some bugs in the state
15332 handling that caused class open lines to be recognized as 15324 handling that caused class open lines to be recognized as
15333 statement-conts in some cases. 15325 statement-conts in some cases.
15334 15326
15335 * cc-cmds.el (c-indent-new-comment-line): Keep the fill prefix 15327 * progmodes/cc-cmds.el (c-indent-new-comment-line): Keep the fill prefix
15336 guessed by the adaptive fill function unless point is on the 15328 guessed by the adaptive fill function unless point is on the
15337 first line of a block comment. 15329 first line of a block comment.
15338 15330
15339 * cc-engine.el (c-forward-syntactic-ws): Fixed an infloop bug 15331 * progmodes/cc-engine.el (c-forward-syntactic-ws): Fixed an infloop bug
15340 when the buffer ends with a macro continuation char. 15332 when the buffer ends with a macro continuation char.
15341 15333
15342 * cc-engine.el (c-guess-basic-syntax): Added support for 15334 * progmodes/cc-engine.el (c-guess-basic-syntax): Added support for
15343 function definitions as statements in Pike. The first 15335 function definitions as statements in Pike. The first
15344 statement in a lambda block is now labeled defun-block-intro 15336 statement in a lambda block is now labeled defun-block-intro
15345 instead of statement-block-intro. 15337 instead of statement-block-intro.
15346 15338
15347 * cc-engine.el (c-narrow-out-enclosing-class): Whack the state 15339 * progmodes/cc-engine.el (c-narrow-out-enclosing-class): Whack the state
15348 so that the class surrounding point is selected, not the one 15340 so that the class surrounding point is selected, not the one
15349 innermost in the state. 15341 innermost in the state.
15350 15342
15351 * cc-engine.el (c-guess-basic-syntax): Fixed bug in 15343 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug in
15352 recognition of switch labels having hanging multiline 15344 recognition of switch labels having hanging multiline
15353 statements. 15345 statements.
15354 15346
15355 * cc-engine.el (c-beginning-of-member-init-list): Broke out 15347 * progmodes/cc-engine.el (c-beginning-of-member-init-list): Broke out
15356 some code in c-guess-basic-syntax to a separate function. 15348 some code in c-guess-basic-syntax to a separate function.
15357 * cc-engine.el (c-just-after-func-arglist-p): Fixed 15349 * progmodes/cc-engine.el (c-just-after-func-arglist-p): Fixed
15358 recognition of member inits with multiple line arglists. 15350 recognition of member inits with multiple line arglists.
15359 * cc-engine.el (c-guess-basic-syntax): New case 5B.3 to detect 15351 * progmodes/cc-engine.el (c-guess-basic-syntax): New case 5B.3 to detect
15360 member-init-cont when the commas are in funny places. 15352 member-init-cont when the commas are in funny places.
15361 15353
153622000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 153542000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15363 15355
15364 * cc-defs.el (c-auto-newline): Removed this macro since it's 15356 * progmodes/cc-defs.el (c-auto-newline): Removed this macro since it's
15365 not used anymore. 15357 not used anymore.
15366 15358
15367 * cc-engine.el (c-looking-at-bos): New helper function. 15359 * progmodes/cc-engine.el (c-looking-at-bos): New helper function.
15368 * cc-engine.el (c-looking-at-inexpr-block): More tests to tell 15360 * progmodes/cc-engine.el (c-looking-at-inexpr-block): More tests to tell
15369 inexpr and toplevel classes apart in Pike. 15361 inexpr and toplevel classes apart in Pike.
15370 15362
15371 * cc-engine.el (c-guess-basic-syntax): Fixed bogus recognition 15363 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bogus recognition
15372 of case 9A. 15364 of case 9A.
15373 15365
15374 * cc-langs.el, cc-mode.el (c-Pike-inexpr-class-key): New 15366 * progmodes/cc-langs.el, progmodes/cc-mode.el
15375 constant, since "class" can introduce an in-expression class 15367 (c-Pike-inexpr-class-key): New constant, since "class" can
15376 in Pike nowadays. 15368 introduce an in-expression class in Pike nowadays.
15377 15369
153782000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 153702000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15379 15371
15380 * cc-align.el (c-gnu-impose-minimum): Don't impose minimum 15372 * progmodes/cc-align.el (c-gnu-impose-minimum): Don't impose minimum
15381 indentation on cpp-macro lines. 15373 indentation on cpp-macro lines.
15382 15374
15383 * cc-engine.el (c-guess-basic-syntax): Made the cpp-macro 15375 * progmodes/cc-engine.el (c-guess-basic-syntax): Made the cpp-macro
15384 a syntax modifier like comment-intro, to make it possible to 15376 a syntax modifier like comment-intro, to make it possible to
15385 get syntactic indentation for preprocessor directives. It's 15377 get syntactic indentation for preprocessor directives. It's
15386 incompatible wrt to lineup functions on cpp-macro, but it has 15378 incompatible wrt to lineup functions on cpp-macro, but it has
@@ -15389,117 +15381,117 @@
15389 15381
153902000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 153822000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15391 15383
15392 * cc-engine.el (c-guess-basic-syntax): Fixed bug with missed 15384 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug with missed
15393 member-init-cont when the preceding arglist is several lines. 15385 member-init-cont when the preceding arglist is several lines.
15394 15386
153952000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 153872000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15396 15388
15397 * cc-styles.el (c-style-alist): The basic offset for the BSD 15389 * progmodes/cc-styles.el (c-style-alist): The basic offset for the BSD
15398 style corrected to 8. 15390 style corrected to 8.
15399 15391
154002000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 153922000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15401 15393
15402 * cc-styles.el (c-style-alist): Adjusted the indentation of 15394 * progmodes/cc-styles.el (c-style-alist): Adjusted the indentation of
15403 brace list openers in the gnu style. 15395 brace list openers in the gnu style.
15404 15396
154052000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 153972000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15406 15398
15407 * cc-cmds.el (c-indent-command): Obey c-syntactic-indentation. 15399 * progmodes/cc-cmds.el (c-indent-command): Obey c-syntactic-indentation.
15408 15400
15409 * cc-cmds.el (c-electric-brace, c-electric-slash, 15401 * progmodes/cc-cmds.el (c-electric-brace, c-electric-slash,
15410 c-electric-star, c-electric-semi&comma, c-electric-colon, 15402 c-electric-star, c-electric-semi&comma, c-electric-colon,
15411 c-electric-lt-gt, c-electric-paren): Don't reindent old lines 15403 c-electric-lt-gt, c-electric-paren): Don't reindent old lines
15412 when c-syntactic-indentation is nil. 15404 when c-syntactic-indentation is nil.
15413 15405
15414 * cc-engine.el (c-beginning-of-statement-1): Fixed bug where 15406 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed bug where
15415 we were left at comments preceding the first statement when 15407 we were left at comments preceding the first statement when
15416 reaching the beginning of the buffer. 15408 reaching the beginning of the buffer.
15417 15409
15418 * cc-vars.el (c-syntactic-indentation): New variable to turn 15410 * progmodes/cc-vars.el (c-syntactic-indentation): New variable to turn
15419 off all syntactic indentation. 15411 off all syntactic indentation.
15420 15412
154212000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 154132000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15422 15414
15423 * cc-cmds.el (c-fill-paragraph): Keep one or two spaces 15415 * progmodes/cc-cmds.el (c-fill-paragraph): Keep one or two spaces
15424 between the text and the block comment ender when it hangs, 15416 between the text and the block comment ender when it hangs,
15425 depending on how many there are before the fill. 15417 depending on how many there are before the fill.
15426 15418
154272000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 154192000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15428 15420
15429 * cc-engine.el (c-beginning-of-closest-statement): New helper 15421 * progmodes/cc-engine.el (c-beginning-of-closest-statement): New helper
15430 function to go back to the closest preceding statement start, 15422 function to go back to the closest preceding statement start,
15431 which could be inside a conditional statement. 15423 which could be inside a conditional statement.
15432 * cc-engine.el (c-guess-basic-syntax): Use 15424 * progmodes/cc-engine.el (c-guess-basic-syntax): Use
15433 c-beginning-of-closest-statement in cases 10B.2, 17B and 17C. 15425 c-beginning-of-closest-statement in cases 10B.2, 17B and 17C.
15434 15426
15435 * cc-engine.el (c-guess-basic-syntax): Better handling of 15427 * progmodes/cc-engine.el (c-guess-basic-syntax): Better handling of
15436 arglist-intro, arglist-cont-nonempty and arglist-close when 15428 arglist-intro, arglist-cont-nonempty and arglist-close when
15437 the arglist is nested inside parens. Cases 7A, 7C and 7F 15429 the arglist is nested inside parens. Cases 7A, 7C and 7F
15438 changed. 15430 changed.
15439 15431
15440 * cc-langs.el (c-Java-javadoc-paragraph-start): Brought 15432 * progmodes/cc-langs.el (c-Java-javadoc-paragraph-start): Brought
15441 up-to-date with javadoc 1.2. 15433 up-to-date with javadoc 1.2.
15442 15434
154432000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 154352000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15444 15436
15445 * cc-engine.el (c-beginning-of-statement-1): Fixed handling of 15437 * progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed handling of
15446 multiline Pike type decls. 15438 multiline Pike type decls.
15447 15439
154482000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 154402000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15449 15441
15450 * cc-cmds.el (c-indent-new-comment-line): Always break 15442 * progmodes/cc-cmds.el (c-indent-new-comment-line): Always break
15451 multiline comments in multiline mode, regardless of 15443 multiline comments in multiline mode, regardless of
15452 comment-multi-line. 15444 comment-multi-line.
15453 15445
154542000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 154462000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15455 15447
15456 * cc-engine.el (c-guess-basic-syntax): Fixed bug with 15448 * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug with
15457 fully::qualified::names in C++ member init lists. Preamble in 15449 fully::qualified::names in C++ member init lists. Preamble in
15458 case 5D changed. 15450 case 5D changed.
15459 15451
154602000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 154522000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15461 15453
15462 * cc-langs.el (c-common-init): Handling of obsolete variables 15454 * progmodes/cc-langs.el (c-common-init): Handling of obsolete variables
15463 moved to c-initialize-cc-mode. More compatible style override 15455 moved to c-initialize-cc-mode. More compatible style override
15464 when using global style variables. 15456 when using global style variables.
15465 * cc-mode.el (c-initialize-cc-mode): Handling of obsolete 15457 * progmodes/cc-mode.el (c-initialize-cc-mode): Handling of obsolete
15466 variables moved here. 15458 variables moved here.
15467 15459
15468 * cc-styles.el (c-make-styles-buffer-local): Flag style 15460 * progmodes/cc-styles.el (c-make-styles-buffer-local): Flag style
15469 variable localness in c-style-variables-are-local-p to make 15461 variable localness in c-style-variables-are-local-p to make
15470 the compatibility measure in c-common-init work well. 15462 the compatibility measure in c-common-init work well.
15471 15463
15472 * cc-styles.el (c-set-style-1): c-special-indent-hook can no 15464 * progmodes/cc-styles.el (c-set-style-1): c-special-indent-hook can no
15473 longer contain set-from-style. 15465 longer contain set-from-style.
15474 * cc-styles.el (c-initialize-builtin-style): Don't check for 15466 * progmodes/cc-styles.el (c-initialize-builtin-style): Don't check for
15475 set-from-style on c-special-indent-hook. 15467 set-from-style on c-special-indent-hook.
15476 * cc-styles.el (c-copy-tree): Obsolete. The standard function 15468 * progmodes/cc-styles.el (c-copy-tree): Obsolete. The standard function
15477 copy-alist is sufficient now. 15469 copy-alist is sufficient now.
15478 15470
15479 * cc-styles.el (c-set-style, c-set-style-1, 15471 * progmodes/cc-styles.el (c-set-style, c-set-style-1,
15480 c-get-style-variables): Fixes to variable initialization so 15472 c-get-style-variables): Fixes to variable initialization so
15481 that duplicate entries in styles have the same effect 15473 that duplicate entries in styles have the same effect
15482 regardless of DONT-OVERRIDE. 15474 regardless of DONT-OVERRIDE.
15483 15475
15484 * cc-styles.el (c-set-style-2): Fixed bug where the 15476 * progmodes/cc-styles.el (c-set-style-2): Fixed bug where the
15485 initialization of inheriting styles failed when the 15477 initialization of inheriting styles failed when the
15486 dont-override flag is set. 15478 dont-override flag is set.
15487 15479
15488 * cc-vars.el (c-special-indent-hook): Don't use set-from-style 15480 * progmodes/cc-vars.el (c-special-indent-hook): Don't use set-from-style
15489 on this. 15481 on this.
15490 15482
154912000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org> 154832000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
15492 15484
15493 * cc-defs.el (c-forward-comment): Removed the workaround 15485 * progmodes/cc-defs.el (c-forward-comment): Removed the workaround
15494 introduced in 5.38 since it had worse side-effects. If a line 15486 introduced in 5.38 since it had worse side-effects. If a line
15495 contains the string "//\"", it regarded the // as a comment 15487 contains the string "//\"", it regarded the // as a comment
15496 start since the \ temporarily doesn't have escape syntax. 15488 start since the \ temporarily doesn't have escape syntax.
15497 15489
154982000-07-17 Emmanuel Briot <briot@act-europe.fr> 154902000-07-17 Emmanuel Briot <briot@act-europe.fr>
15499 15491
15500 * ada-mode.el: Got rid of all byte-compiler warnings on Emacs Load 15492 * progmodes/ada-mode.el: Got rid of all byte-compiler warnings on
15501 ada-xref.el before ada-prj.el, so that the Project menu is created 15493 Emacs. Load ada-xref.el before ada-prj.el, so that the Project
15502 when ada-prj tries to add to it. 15494 menu is created when ada-prj tries to add to it.
15503 (ada-activate-keys-for-case): Suppress the characters that are not 15495 (ada-activate-keys-for-case): Suppress the characters that are not
15504 part of the Ada syntax. Better compatibility with else-mode. 15496 part of the Ada syntax. Better compatibility with else-mode.
15505 (ada-adjust-case-interactive): When auto-casing is not active, 15497 (ada-adjust-case-interactive): When auto-casing is not active,
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index 7d8326c9247..2dc68d484c6 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -29,7 +29,7 @@
29 completable types, pull in types which are referenced through 29 completable types, pull in types which are referenced through
30 'using' statements, and also preserve their filenames. 30 'using' statements, and also preserve their filenames.
31 31
32 * semanitc/bovine/c.el (semantic/analyze/refs): Require. 32 * semantic/bovine/c.el (semantic/analyze/refs): Require.
33 (semantic-analyze-tag-references): New override. Mainly copied 33 (semantic-analyze-tag-references): New override. Mainly copied
34 from the default implementation, but if nothing could be found (or 34 from the default implementation, but if nothing could be found (or
35 just the tag itself), drop all namespaces from the scope and 35 just the tag itself), drop all namespaces from the scope and
@@ -245,7 +245,7 @@
245 245
2462013-07-29 David Engster <deng@randomsample.de> 2462013-07-29 David Engster <deng@randomsample.de>
247 247
248 * lisp/cedet/cedet.el (cedet-packages): Remove speedbar since its 248 * cedet.el (cedet-packages): Remove speedbar since its
249 development does no longer happens in CEDET upstream but in Emacs 249 development does no longer happens in CEDET upstream but in Emacs
250 proper. Also remove cedet-contrib and cogre since those are only 250 proper. Also remove cedet-contrib and cogre since those are only
251 in upstream. 251 in upstream.
@@ -262,7 +262,7 @@
262 262
2632013-07-27 Eric Ludlam <zappo@gnu.org> 2632013-07-27 Eric Ludlam <zappo@gnu.org>
264 264
265 * lisp/cedet/semantic/edit.el (semantic-edits-splice-remove): 265 * semantic/edit.el (semantic-edits-splice-remove):
266 Wrap debug message removing middle tag in semantic-edits-verbose-flag 266 Wrap debug message removing middle tag in semantic-edits-verbose-flag
267 check. 267 check.
268 268
@@ -552,18 +552,15 @@
552 552
553 * srecode/srt-mode.el: 553 * srecode/srt-mode.el:
554 * srecode/compile.el: 554 * srecode/compile.el:
555 * semantic/elp.el:
556 * semantic/db-el.el: 555 * semantic/db-el.el:
557 * semantic/complete.el: 556 * semantic/complete.el:
558 * ede.el: 557 * ede.el:
559 * cogre.el:
560 * srecode/table.el: 558 * srecode/table.el:
561 * srecode/mode.el: 559 * srecode/mode.el:
562 * srecode/insert.el: 560 * srecode/insert.el:
563 * srecode/compile.el: 561 * srecode/compile.el:
564 * semantic/decorate/include.el: 562 * semantic/decorate/include.el:
565 * semantic/db.el: 563 * semantic/db.el:
566 * semantic/adebug.el:
567 * ede/auto.el: 564 * ede/auto.el:
568 * srecode/dictionary.el: 565 * srecode/dictionary.el:
569 * semantic/ede-grammar.el: 566 * semantic/ede-grammar.el:
@@ -2785,8 +2782,6 @@
2785 2782
2786 * srecode/srt-mode.el (srecode-template-mode): Doc fix. 2783 * srecode/srt-mode.el (srecode-template-mode): Doc fix.
2787 2784
2788 * files.el (auto-mode-alist): Add .srt and Project.ede.
2789
2790 * semantic.el (semantic-mode): 2785 * semantic.el (semantic-mode):
2791 Handle srecode-template-mode-hook as well. 2786 Handle srecode-template-mode-hook as well.
2792 (semantic-mode): Use js-mode-hook for Javascript hook. 2787 (semantic-mode): Use js-mode-hook for Javascript hook.
diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el
index 8627abc5b9e..e4f239b14a9 100644
--- a/lisp/cedet/semantic/bovine/c.el
+++ b/lisp/cedet/semantic/bovine/c.el
@@ -504,7 +504,7 @@ code to parse."
504 (let ((eval-form (eval parsedtokelist))) 504 (let ((eval-form (eval parsedtokelist)))
505 (if (or (not eval-form) 505 (if (or (not eval-form)
506 (and (numberp eval-form) 506 (and (numberp eval-form)
507 (equal eval-form 0)));; ifdefline resulted in false 507 (equal eval-form 0)));; ifdef line resulted in false
508 508
509 ;; The if indicates to skip this preprocessor section 509 ;; The if indicates to skip this preprocessor section
510 (let ((pt nil)) 510 (let ((pt nil))
@@ -1242,7 +1242,7 @@ Use `semantic-analyze-current-tag' to debug this fcn."
1242 (setq scope (semantic-calculate-scope)) 1242 (setq scope (semantic-calculate-scope))
1243 1243
1244 (setq allhits (semantic--analyze-refs-full-lookup tag scope t)) 1244 (setq allhits (semantic--analyze-refs-full-lookup tag scope t))
1245 1245
1246 (when (or (zerop (semanticdb-find-result-length allhits)) 1246 (when (or (zerop (semanticdb-find-result-length allhits))
1247 (and (= (semanticdb-find-result-length allhits) 1) 1247 (and (= (semanticdb-find-result-length allhits) 1)
1248 (eq (car (semanticdb-find-result-nth allhits 0)) tag))) 1248 (eq (car (semanticdb-find-result-nth allhits 0)) tag)))
diff --git a/lisp/cedet/srecode/map.el b/lisp/cedet/srecode/map.el
index fc286c915dc..31ea7101504 100644
--- a/lisp/cedet/srecode/map.el
+++ b/lisp/cedet/srecode/map.el
@@ -80,7 +80,7 @@ Each app keys to an alist of files and modes (as above.)")
80 ans)) 80 ans))
81 81
82(defmethod srecode-map-entry-for-app ((map srecode-map) app) 82(defmethod srecode-map-entry-for-app ((map srecode-map) app)
83 "Return the entry in MAP for APP'lication." 83 "Return the entry in MAP for APP."
84 (assoc app (oref map apps)) 84 (assoc app (oref map apps))
85 ) 85 )
86 86
@@ -137,7 +137,7 @@ Return non-nil if the MAP was changed."
137 dirty)) 137 dirty))
138 138
139(defmethod srecode-map-delete-file-entry-from-app ((map srecode-map) file app) 139(defmethod srecode-map-delete-file-entry-from-app ((map srecode-map) file app)
140 "Delete from MAP the FILE entry within the APP'lication." 140 "Delete from MAP the FILE entry within the APP."
141 (let* ((appe (srecode-map-entry-for-app map app)) 141 (let* ((appe (srecode-map-entry-for-app map app))
142 (fentry (assoc file (cdr appe)))) 142 (fentry (assoc file (cdr appe))))
143 (setcdr appe (delete fentry (cdr appe)))) 143 (setcdr appe (delete fentry (cdr appe))))
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el
index 1956a333c88..429a6170df9 100644
--- a/lisp/emacs-lisp/authors.el
+++ b/lisp/emacs-lisp/authors.el
@@ -421,11 +421,15 @@ Changes to files in this list are not listed.")
421 ("David M. Brown" :wrote "array.el") 421 ("David M. Brown" :wrote "array.el")
422 ;; No longer distributed. 422 ;; No longer distributed.
423;;; ("Gary Byers" :changed "xenix.h") 423;;; ("Gary Byers" :changed "xenix.h")
424 ("Shawn M. Carey" :wrote "freebsd.h") 424 ;; No longer distributed: freebsd.h
425 ;; Only trivial pieces remain, merged into configure.ac.
426 ("Shawn M. Carey" :wrote "[some early FreeBSD support]")
425 ;; hp800.h renamed from hp9000s800.h, hpux.h merged into hpux10-20.h. 427 ;; hp800.h renamed from hp9000s800.h, hpux.h merged into hpux10-20.h.
426 ;; FIXME overwritten by Author:. 428 ;; FIXME overwritten by Author:.
427 ("Satyaki Das" :cowrote "mh-search.el") 429 ("Satyaki Das" :cowrote "mh-search.el")
428 ("Eric Decker" :changed "hp800.h" "hpux10-20.h" "sysdep.c") 430 ;; No longer distributed: hp800.h, hpux10-20.h.
431 ;; Only trivial pieces remain, merged into configure.ac.
432 ("Eric Decker" :changed "sysdep.c (and other files for HP-UX support)")
429 ("Lawrence R. Dodd" :cowrote "dired-x.el") 433 ("Lawrence R. Dodd" :cowrote "dired-x.el")
430 ;; No longer distributed. 434 ;; No longer distributed.
431;;; ("Viktor Dukhovni" :wrote "unexsunos4.c") 435;;; ("Viktor Dukhovni" :wrote "unexsunos4.c")
@@ -456,15 +460,16 @@ Changes to files in this list are not listed.")
456 "process.c" "sysdep.c" "unexcoff.c") 460 "process.c" "sysdep.c" "unexcoff.c")
457 ;; No longer distributed. 461 ;; No longer distributed.
458;;; ("Ishikawa Chiaki" :changed "aviion.h" "dgux.h") 462;;; ("Ishikawa Chiaki" :changed "aviion.h" "dgux.h")
459 ;; ymakefile no longer distributed. 463 ;; No longer distributed: ymakefile, intel386.h, mem-limits.h, template.h,
460 ("Michael K. Johnson" :changed "configure.ac" "emacs.c" "intel386.h" 464 ;; linux.h (was renamed to lignux.h, then to gnu-linux.h, then removed)
461 "mem-limits.h" "process.c" "template.h" "sysdep.c" "syssignal.h" 465 ("Michael K. Johnson" :changed "configure.ac" "emacs.c"
462 "systty.h" "unexcoff.c" "linux.h") 466 "process.c" "sysdep.c" "syssignal.h" "systty.h" "unexcoff.c")
463 ;; No longer distributed. 467 ;; No longer distributed.
464;;; ("Kyle Jones" :wrote "mldrag.el") 468;;; ("Kyle Jones" :wrote "mldrag.el")
465 ("Henry Kautz" :wrote "bib-mode.el") 469 ("Henry Kautz" :wrote "bib-mode.el")
466 ;; No longer distributed: vms-pwd.h, vmsfns.c, uaf.h. 470 ;; No longer distributed: vms-pwd.h, vmsfns.c, uaf.h,
467 ("Joseph M. Kelsey" :changed "fileio.c" "dir.h") 471 ;; dir.h (was renamed to vmsdir.h, then removed)
472 ("Joseph M. Kelsey" :changed "fileio.c")
468 ("Sam Kendall" :changed "etags.c" "etags.el") 473 ("Sam Kendall" :changed "etags.c" "etags.el")
469 ;; ack.texi: "We're not using his backquote.el any more." 474 ;; ack.texi: "We're not using his backquote.el any more."
470 ("Richard King" :wrote "userlock.el" "filelock.c") 475 ("Richard King" :wrote "userlock.el" "filelock.c")
@@ -503,7 +508,7 @@ Changes to files in this list are not listed.")
503 ("Mark Neale" :changed "fortran.el") 508 ("Mark Neale" :changed "fortran.el")
504 ;; Renamed from sc.el. 509 ;; Renamed from sc.el.
505 ("Martin Neitzel" :changed "supercite.el") 510 ("Martin Neitzel" :changed "supercite.el")
506 ("Andrew Oram" :changed "calendar.texi (and other files in man/)") 511 ("Andrew Oram" :changed "calendar.texi (and other doc files)")
507 ("Frederic Pierresteguy" :wrote "widget.c") 512 ("Frederic Pierresteguy" :wrote "widget.c")
508 ("Michael D. Prange" :changed "tex-mode.el") 513 ("Michael D. Prange" :changed "tex-mode.el")
509 ;; No longer distributed (dgux5-4r3.h was renamed to dgux5-4-3.h). 514 ;; No longer distributed (dgux5-4r3.h was renamed to dgux5-4-3.h).
@@ -516,8 +521,9 @@ Changes to files in this list are not listed.")
516;;; ("Guillermo J. Rozas" :wrote "fakemail.c") 521;;; ("Guillermo J. Rozas" :wrote "fakemail.c")
517 ("Wolfgang Rupprecht" :changed "lisp-mode.el" "loadup.el" 522 ("Wolfgang Rupprecht" :changed "lisp-mode.el" "loadup.el"
518 "sort.el" "alloc.c" "callint.c" 523 "sort.el" "alloc.c" "callint.c"
519 ;; config.in renamed from config.h.in; ecrt0.c from crt0.c. 524 ;; config.in renamed from config.h.in, now a generated file.
520 "config.in" "ecrt0.c" "data.c" "fns.c" 525 ;; ecrt0.c renamed from crt0.c, then removed.
526 "data.c" "fns.c"
521 "lisp.h" "lread.c" ; "sun3.h" "ymakefile" - no longer distributed 527 "lisp.h" "lread.c" ; "sun3.h" "ymakefile" - no longer distributed
522 "print.c" :wrote "float-sup.el" "floatfns.c") 528 "print.c" :wrote "float-sup.el" "floatfns.c")
523 ("Schlumberger Technology Corporation" :changed "gud.el") 529 ("Schlumberger Technology Corporation" :changed "gud.el")
@@ -543,7 +549,8 @@ Changes to files in this list are not listed.")
543 ("Spencer Thomas" :changed "emacsclient.c" "server.el" 549 ("Spencer Thomas" :changed "emacsclient.c" "server.el"
544 "dabbrev.el" "unexcoff.c" "gnus.texi") 550 "dabbrev.el" "unexcoff.c" "gnus.texi")
545 ("Jonathan Vail" :changed "vc.el") 551 ("Jonathan Vail" :changed "vc.el")
546 ("James Van Artsdalen" :changed "usg5-4.h" "unexcoff.c") 552 ;; No longer distributed: usg5-4.h
553 ("James Van Artsdalen" :changed "unexcoff.c")
547 ;; No longer distributed: src/makefile.nt, lisp/makefile.nt 554 ;; No longer distributed: src/makefile.nt, lisp/makefile.nt
548 ;; winnt.el renamed to w32-fns.el; nt.[ch] to w32.[ch]; 555 ;; winnt.el renamed to w32-fns.el; nt.[ch] to w32.[ch];
549 ;; ntheap.[ch] to w32heap.[ch]; ntinevt.c to w32inevt.c; 556 ;; ntheap.[ch] to w32heap.[ch]; ntinevt.c to w32inevt.c;
@@ -552,7 +559,8 @@ Changes to files in this list are not listed.")
552 ("Geoff Voelker" :wrote "w32-fns.el" "w32.c" "w32.h" "w32heap.c" 559 ("Geoff Voelker" :wrote "w32-fns.el" "w32.c" "w32.h" "w32heap.c"
553 "w32heap.h" "w32inevt.c" "w32proc.c" "w32term.c" "ms-w32.h") 560 "w32heap.h" "w32inevt.c" "w32proc.c" "w32term.c" "ms-w32.h")
554 ("Morten Welinder" :wrote "dosfns.c" "[many MS-DOS files]" "msdos.h") 561 ("Morten Welinder" :wrote "dosfns.c" "[many MS-DOS files]" "msdos.h")
555 ("Eli Zaretskii" :wrote "bidi.c" "[bidirectional display in xdisp.c]") 562 ("Eli Zaretskii" :wrote "bidi.c" "[bidirectional display in xdisp.c]"
563 "[tty menus in term.c]")
556 ;; Not using this version any more. 564 ;; Not using this version any more.
557;;; ("Pace Willisson" :wrote "ispell.el") 565;;; ("Pace Willisson" :wrote "ispell.el")
558 ;; FIXME overwritten by Author:. 566 ;; FIXME overwritten by Author:.
diff --git a/lisp/emacs-lisp/eieio-custom.el b/lisp/emacs-lisp/eieio-custom.el
index 0501437ca59..cbb35fee3f6 100644
--- a/lisp/emacs-lisp/eieio-custom.el
+++ b/lisp/emacs-lisp/eieio-custom.el
@@ -473,4 +473,8 @@ Return the symbol for the group, or nil"
473 473
474(provide 'eieio-custom) 474(provide 'eieio-custom)
475 475
476;; Local variables:
477;; generated-autoload-file: "eieio.el"
478;; End:
479
476;;; eieio-custom.el ends here 480;;; eieio-custom.el ends here
diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el
index 9269c744b9f..8e43eff2b83 100644
--- a/lisp/emacs-lisp/eieio-opt.el
+++ b/lisp/emacs-lisp/eieio-opt.el
@@ -124,7 +124,7 @@ If CLASS is actually an object, then also display current values of that object.
124 ;; Describe all the methods specific to this class. 124 ;; Describe all the methods specific to this class.
125 (let ((methods (eieio-all-generic-functions class)) 125 (let ((methods (eieio-all-generic-functions class))
126 (type [":STATIC" ":BEFORE" ":PRIMARY" ":AFTER"]) 126 (type [":STATIC" ":BEFORE" ":PRIMARY" ":AFTER"])
127 counter doc argshl dochl) 127 counter doc)
128 (when methods 128 (when methods
129 (insert (propertize "Specialized Methods:\n\n" 'face 'bold)) 129 (insert (propertize "Specialized Methods:\n\n" 'face 'bold))
130 (while methods 130 (while methods
@@ -692,4 +692,8 @@ INDENT is the current indentation level."
692 692
693(provide 'eieio-opt) 693(provide 'eieio-opt)
694 694
695;; Local variables:
696;; generated-autoload-file: "eieio.el"
697;; End:
698
695;;; eieio-opt.el ends here 699;;; eieio-opt.el ends here
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
index 4d572601243..38ed8c433f6 100644
--- a/lisp/emacs-lisp/eieio.el
+++ b/lisp/emacs-lisp/eieio.el
@@ -913,14 +913,10 @@ Optional argument NOESCAPE is passed to `prin1-to-string' when appropriate."
913 ) 913 )
914 ) 914 )
915 915
916;;; Autoloading some external symbols, and hooking into the help system
917;;
918
919 916
920;;; Start of automatically extracted autoloads. 917;;; Start of automatically extracted autoloads.
921 918
922;;;### (autoloads (customize-object) "eieio-custom" "eieio-custom.el" 919;;;### (autoloads nil "eieio-custom" "eieio-custom.el" "5b0e7b1beea11f9e9de6887279f75d61")
923;;;;;; "928623502e8bf40454822355388542b5")
924;;; Generated autoloads from eieio-custom.el 920;;; Generated autoloads from eieio-custom.el
925 921
926(autoload 'customize-object "eieio-custom" "\ 922(autoload 'customize-object "eieio-custom" "\
@@ -931,9 +927,7 @@ Optional argument GROUP is the sub-group of slots to display.
931 927
932;;;*** 928;;;***
933 929
934;;;### (autoloads (eieio-help-mode-augmentation-maybee eieio-describe-generic 930;;;### (autoloads nil "eieio-opt" "eieio-opt.el" "f03278724025221a0259ed48516286f3")
935;;;;;; eieio-describe-constructor eieio-describe-class eieio-browse)
936;;;;;; "eieio-opt" "eieio-opt.el" "d808328f9c0156ecbd412d77ba8c569e")
937;;; Generated autoloads from eieio-opt.el 931;;; Generated autoloads from eieio-opt.el
938 932
939(autoload 'eieio-browse "eieio-opt" "\ 933(autoload 'eieio-browse "eieio-opt" "\
@@ -942,33 +936,22 @@ If optional ROOT-CLASS, then start with that, otherwise start with
942variable `eieio-default-superclass'. 936variable `eieio-default-superclass'.
943 937
944\(fn &optional ROOT-CLASS)" t nil) 938\(fn &optional ROOT-CLASS)" t nil)
945(defalias 'describe-class 'eieio-describe-class)
946 939
947(autoload 'eieio-describe-class "eieio-opt" "\ 940(autoload 'eieio-help-class "eieio-opt" "\
948Describe a CLASS defined by a string or symbol. 941Print help description for CLASS.
949If CLASS is actually an object, then also display current values of that object. 942If CLASS is actually an object, then also display current values of that object.
950Optional HEADERFCN should be called to insert a few bits of info first.
951
952\(fn CLASS &optional HEADERFCN)" t nil)
953
954(autoload 'eieio-describe-constructor "eieio-opt" "\
955Describe the constructor function FCN.
956Uses `eieio-describe-class' to describe the class being constructed.
957 943
958\(fn FCN)" t nil) 944\(fn CLASS)" nil nil)
959(defalias 'describe-generic 'eieio-describe-generic)
960 945
961(autoload 'eieio-describe-generic "eieio-opt" "\ 946(autoload 'eieio-help-constructor "eieio-opt" "\
962Describe the generic function GENERIC. 947Describe CTR if it is a class constructor.
963Also extracts information about all methods specific to this generic.
964 948
965\(fn GENERIC)" t nil) 949\(fn CTR)" nil nil)
966 950
967(autoload 'eieio-help-mode-augmentation-maybee "eieio-opt" "\ 951(autoload 'eieio-help-generic "eieio-opt" "\
968For buffers thrown into help mode, augment for EIEIO. 952Describe GENERIC if it is a generic function.
969Arguments UNUSED are not used.
970 953
971\(fn &rest UNUSED)" nil nil) 954\(fn GENERIC)" nil nil)
972 955
973;;;*** 956;;;***
974 957
diff --git a/lisp/follow.el b/lisp/follow.el
index c40f4ae1df6..19ff6f8f0aa 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -311,7 +311,7 @@ are \" Fw\", or simply \"\"."
311 (set-default symbol value))) 311 (set-default symbol value)))
312 312
313(defvar follow-cache-command-list 313(defvar follow-cache-command-list
314 '(next-line previous-line forward-char backward-char) 314 '(next-line previous-line forward-char backward-char right-char left-char)
315 "List of commands that don't require recalculation. 315 "List of commands that don't require recalculation.
316 316
317In order to be able to use the cache, a command should not change the 317In order to be able to use the cache, a command should not change the
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index bcf26ac9f9c..372819d819a 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
12014-01-09 Ken Olum <kdo@cosmos.phy.tufts.edu> (tiny change)
2
3 * message.el (message-bury): Call bury-buffer with no argument
4 in the message-return-action case too.
5
12014-01-05 Katsumi Yamaoka <yamaoka@jpl.org> 62014-01-05 Katsumi Yamaoka <yamaoka@jpl.org>
2 7
3 * gnus-sum.el (gnus-article-stop-animations): Declare it before using. 8 * gnus-sum.el (gnus-article-stop-animations): Declare it before using.
diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2
index cd00df2422b..789b601540b 100644
--- a/lisp/gnus/ChangeLog.2
+++ b/lisp/gnus/ChangeLog.2
@@ -14703,6 +14703,15 @@
14703 14703
14704 * gnus-art.el, ...: Error convention changes. 14704 * gnus-art.el, ...: Error convention changes.
14705 14705
14706 * binhex.el, earcon.el, gnus-agent.el, gnus-art.el, gnus-audio.el:
14707 * gnus-logic.el, gnus-ml.el, gnus-mlspl.el, gnus-setup.el:
14708 * gnus-srvr.el, gnus-sum.el, gnus-uu.el, gnus-vm.el, ietf-drums.el:
14709 * mail-parse.el, mail-prsvr.el, mail-source.el, mm-bodies.el:
14710 * mm-decode.el, mm-encode.el, mm-partial.el, mm-util.el, mm-uu.el:
14711 * mm-view.el, mml.el, nnimap.el, nnoo.el, parse-time.el, rfc1843.el:
14712 * rfc2045.el, rfc2047.el, rfc2104.el, rfc2231.el, time-date.el:
14713 * uudecode.el: Some fixes to follow coding conventions.
14714
147062001-07-13 20:00:00 ShengHuo ZHU <zsh@cs.rochester.edu> 147152001-07-13 20:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
14707 14716
14708 * gnus-sum.el (gnus-rebuild-thread): Count hidden lines too. 14717 * gnus-sum.el (gnus-rebuild-thread): Count hidden lines too.
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index d1a32d52e06..be19ccea38d 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4099,11 +4099,12 @@ Instead, just auto-save the buffer and then bury it."
4099 4099
4100(defun message-bury (buffer) 4100(defun message-bury (buffer)
4101 "Bury this mail BUFFER." 4101 "Bury this mail BUFFER."
4102 ;; Note that this is not quite the same as (bury-buffer buffer),
4103 ;; since bury-buffer does extra stuff with a nil argument.
4104 ;; Eg http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg00539.html
4105 (with-current-buffer buffer (bury-buffer))
4102 (if message-return-action 4106 (if message-return-action
4103 (progn 4107 (apply (car message-return-action) (cdr message-return-action))))
4104 (bury-buffer buffer)
4105 (apply (car message-return-action) (cdr message-return-action)))
4106 (with-current-buffer buffer (bury-buffer))))
4107 4108
4108(defun message-send (&optional arg) 4109(defun message-send (&optional arg)
4109 "Send the message in the current buffer. 4110 "Send the message in the current buffer.
diff --git a/lisp/help.el b/lisp/help.el
index 22d7007aa5e..f732cf385cd 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -417,9 +417,10 @@ is specified by the variable `message-log-max'."
417 (display-buffer (current-buffer)))) 417 (display-buffer (current-buffer))))
418 418
419(defun view-order-manuals () 419(defun view-order-manuals ()
420 "Display the Emacs ORDERS file." 420 "Display information on how to buy printed copies of Emacs manuals."
421 (interactive) 421 (interactive)
422 (view-help-file "ORDERS")) 422;; (view-help-file "ORDERS")
423 (info "(emacs)Printed Books"))
423 424
424(defun view-emacs-FAQ () 425(defun view-emacs-FAQ ()
425 "Display the Emacs Frequently Asked Questions (FAQ) file." 426 "Display the Emacs Frequently Asked Questions (FAQ) file."
diff --git a/lisp/info.el b/lisp/info.el
index 84fc13ccc7d..74bdef5b050 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -732,6 +732,14 @@ in `Info-file-supports-index-cookies-list'."
732 (Info-default-dirs)) 732 (Info-default-dirs))
733 (split-string path sep)) 733 (split-string path sep))
734 (Info-default-dirs)))) 734 (Info-default-dirs))))
735 ;; If we are running uninstalled, our own Info files should
736 ;; always come first. If INFOPATH was set, they might not.
737 (and path
738 installation-directory
739 (let ((dir (expand-file-name "info/" installation-directory)))
740 (when (file-directory-p dir)
741 (setq Info-directory-list (delete dir Info-directory-list))
742 (push dir Info-directory-list))))
735 ;; For a self-contained (ie relocatable) NS build, AFAICS we 743 ;; For a self-contained (ie relocatable) NS build, AFAICS we
736 ;; always want the included info directory to be at the head of 744 ;; always want the included info directory to be at the head of
737 ;; the search path, unless it's already in INFOPATH somewhere. 745 ;; the search path, unless it's already in INFOPATH somewhere.
diff --git a/lisp/mail/uce.el b/lisp/mail/uce.el
index c4816209d34..a6e2513c8c9 100644
--- a/lisp/mail/uce.el
+++ b/lisp/mail/uce.el
@@ -279,7 +279,7 @@ You might need to set `uce-mail-reader' before using this."
279 (goto-char (point-min))) 279 (goto-char (point-min)))
280 ;; Now find the mail hub that first accepted this message. 280 ;; Now find the mail hub that first accepted this message.
281 ;; This should try to find the last Received: header. 281 ;; This should try to find the last Received: header.
282 ;; Sometimes there may be other headers inbetween Received: headers. 282 ;; Sometimes there may be other headers in between Received: headers.
283 (cond ((eq uce-mail-reader 'gnus) 283 (cond ((eq uce-mail-reader 'gnus)
284 ;; Does Gnus always have Lines: in the end? 284 ;; Does Gnus always have Lines: in the end?
285 (re-search-forward "^Lines:") 285 (re-search-forward "^Lines:")
diff --git a/lisp/mail/unrmail.el b/lisp/mail/unrmail.el
index e1559578dee..8a9d5106176 100644
--- a/lisp/mail/unrmail.el
+++ b/lisp/mail/unrmail.el
@@ -52,12 +52,12 @@ Therefore any lines in the message bodies that start with \"From \"
52must be quoted. The `mboxo' format just prepends a \">\" to such lines. 52must be quoted. The `mboxo' format just prepends a \">\" to such lines.
53This is not reversible, because given a line starting with \">From \" in 53This is not reversible, because given a line starting with \">From \" in
54an mboxo file, it is not possible to know whether the original had a \">\" 54an mboxo file, it is not possible to know whether the original had a \">\"
55or not. The `mxbord' format avoids this by also quoting \">From \" as 55or not. The `mboxrd' format avoids this by also quoting \">From \" as
56\">>From \", and so on. For this reason, mboxrd is recommended. 56\">>From \", and so on. For this reason, mboxrd is recommended.
57 57
58See also `rmail-mbox-format'." 58See also `rmail-mbox-format'."
59 :type '(choice (const mboxrd) 59 :type '(choice (const mboxrd)
60 (const mboxro)) 60 (const mboxo))
61 :version "24.4" 61 :version "24.4"
62 :group 'rmail-files) 62 :group 'rmail-files)
63 63
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index e116129521f..03d3cdd45f3 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -5097,9 +5097,6 @@
5097 * org-agenda.el (org-agenda-show-clocking-issues) 5097 * org-agenda.el (org-agenda-show-clocking-issues)
5098 (org-agenda-format-item): Silence byte compiler. 5098 (org-agenda-format-item): Silence byte compiler.
5099 5099
5100 * org-colview-xemacs.el (org-agenda-columns): Silence byte
5101 compiler.
5102
5103 * org-colview.el (org-agenda-columns): Silence byte compiler. 5100 * org-colview.el (org-agenda-columns): Silence byte compiler.
5104 5101
5105 * org.el (org-properties-postprocess-alist): Silence byte 5102 * org.el (org-properties-postprocess-alist): Silence byte
@@ -13446,10 +13443,6 @@
13446 13443
134472012-01-03 Bastien Guerry <bzg@gnu.org> 134442012-01-03 Bastien Guerry <bzg@gnu.org>
13448 13445
13449 * org-mw.el (org-mw-export-lists): Fix list export.
13450
134512012-01-03 Bastien Guerry <bzg@gnu.org>
13452
13453 * org-list.el (org-list-item-trim-br): New function. 13446 * org-list.el (org-list-item-trim-br): New function.
13454 (org-list-to-generic): New parameter :nobr to use the new 13447 (org-list-to-generic): New parameter :nobr to use the new
13455 function. 13448 function.
@@ -14072,11 +14065,6 @@
14072 14065
140732011-07-28 Bastien Guerry <bzg@gnu.org> 140662011-07-28 Bastien Guerry <bzg@gnu.org>
14074 14067
14075 * org-toc.el (org-toc-before-first-heading-p, org-toc-show)
14076 (org-toc-get-headlines-status): Use `org-outline-regexp-bol'.
14077
140782011-07-28 Bastien Guerry <bzg@gnu.org>
14079
14080 * org.el (org-outline-regexp-bol): New defconst. 14068 * org.el (org-outline-regexp-bol): New defconst.
14081 (org-outline-level, org-set-font-lock-defaults, org-cycle) 14069 (org-outline-level, org-set-font-lock-defaults, org-cycle)
14082 (org-overview, org-content, org-flag-drawer) 14070 (org-overview, org-content, org-flag-drawer)
@@ -18539,21 +18527,9 @@
18539 * ob-ref.el (org-babel-ref-parse): Allow passing empty strings 18527 * ob-ref.el (org-babel-ref-parse): Allow passing empty strings
18540 into code blocks. 18528 into code blocks.
18541 18529
185422011-07-28 David Maus <dmaus@ictsoc.de>
18543
18544 * test-org-table.el
18545 (test-org-table/org-table-convert-refs-to-rc/3)
18546 (test-org-table/org-table-convert-refs-to-rc/2)
18547 (test-org-table/org-table-convert-refs-to-rc/1)
18548 (test-org-table/org-table-convert-refs-to-an/3)
18549 (test-org-table/org-table-convert-refs-to-an/2)
18550 (test-org-table/org-table-convert-refs-to-an/1): Provide tests for
18551 table formular format conversion.
18552
185532011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 185302011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
18554 18531
18555 * org.el (org-sort-entries): Fix sorting with a bold emphasis at 18532 * org.el (org-sort-entries): Fix sorting with a bold emphasis at bol.
18556 bol.
18557 18533
185582011-07-28 Eric Schulte <schulte.eric@gmail.com> 185342011-07-28 Eric Schulte <schulte.eric@gmail.com>
18559 18535
diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el
index 2ae0a02727f..e2ef492a9ad 100644
--- a/lisp/progmodes/octave.el
+++ b/lisp/progmodes/octave.el
@@ -158,7 +158,8 @@ parenthetical grouping.")
158 (if (fboundp 'eldoc-post-insert-mode) 158 (if (fboundp 'eldoc-post-insert-mode)
159 'eldoc-post-insert-mode 159 'eldoc-post-insert-mode
160 'eldoc-mode)) 160 'eldoc-mode))
161 :style toggle :selected (or eldoc-post-insert-mode eldoc-mode) 161 :style toggle :selected (or (bound-and-true-p eldoc-post-insert-mode)
162 (bound-and-true-p eldoc-mode))
162 :help "Display function signatures after typing `SPC' or `('"] 163 :help "Display function signatures after typing `SPC' or `('"]
163 ["Delimiter Matching" show-paren-mode 164 ["Delimiter Matching" show-paren-mode
164 :style toggle :selected show-paren-mode 165 :style toggle :selected show-paren-mode
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index 9725977f7c0..76945adaacb 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -2134,10 +2134,10 @@ See `font-lock-syntax-table'.")
2134(add-to-list 'auto-mode-alist 2134(add-to-list 'auto-mode-alist
2135 (cons (purecopy (concat "\\(?:\\." 2135 (cons (purecopy (concat "\\(?:\\."
2136 "rb\\|ru\\|rake\\|thor" 2136 "rb\\|ru\\|rake\\|thor"
2137 "\\|jbuilder\\|gemspec" 2137 "\\|jbuilder\\|gemspec\\|podspec"
2138 "\\|/" 2138 "\\|/"
2139 "\\(?:Gem\\|Rake\\|Cap\\|Thor" 2139 "\\(?:Gem\\|Rake\\|Cap\\|Thor"
2140 "Vagrant\\|Guard\\)file" 2140 "Vagrant\\|Guard\\|Pod\\)file"
2141 "\\)\\'")) 'ruby-mode)) 2141 "\\)\\'")) 'ruby-mode))
2142 2142
2143;;;###autoload 2143;;;###autoload
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index 6408afb6af2..ee5f8cb046b 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -10509,8 +10509,8 @@ DIFFPT. This function is called via `verilog-diff-function'."
10509 10509
10510(defun verilog-diff-auto () 10510(defun verilog-diff-auto ()
10511 "Expand AUTOs in a temporary buffer and indicate any change. 10511 "Expand AUTOs in a temporary buffer and indicate any change.
10512Whitespace differences are ignored to determine identicalness, but 10512Whitespace is ignored when detecting differences, but once a
10513once a difference is detected, whitespace differences may be shown. 10513difference is detected, whitespace differences may be shown.
10514 10514
10515To call this from the command line, see \\[verilog-batch-diff-auto]. 10515To call this from the command line, see \\[verilog-batch-diff-auto].
10516 10516
diff --git a/lisp/term/README b/lisp/term/README
index 3f8ff8c0d62..b8756c3873d 100644
--- a/lisp/term/README
+++ b/lisp/term/README
@@ -55,7 +55,7 @@ are listed in src/term.c; look for the string `keys' in that file.
55terminal mode as on an X console. If there are differences, you can bet 55terminal mode as on an X console. If there are differences, you can bet
56they'll frustrate you after you've forgotten about them. 56they'll frustrate you after you've forgotten about them.
57 57
58 For another, the X keysms provide a standard set of names that Emacs knows 58 For another, the X keysyms provide a standard set of names that Emacs knows
59about. It tries to bind many of them to useful things at startup, before your 59about. It tries to bind many of them to useful things at startup, before your
60.emacs is read (so you can override them). In some ways, the X keysym standard 60.emacs is read (so you can override them). In some ways, the X keysym standard
61is a admittedly poor one; it's incomplete, and not well matched to the set of 61is a admittedly poor one; it's incomplete, and not well matched to the set of
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 3d53dfb765f..a1a3e16a5aa 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -2803,7 +2803,7 @@ There might be text before point."
2803 (t 2803 (t
2804 (let ((col (current-column))) 2804 (let ((col (current-column)))
2805 (if (or (not (eq (char-syntax (or (char-after pos) ?\s)) ?\()) 2805 (if (or (not (eq (char-syntax (or (char-after pos) ?\s)) ?\())
2806 ;; Can't be an arg if there's an empty line inbetween. 2806 ;; Can't be an arg if there's an empty line in between.
2807 (save-excursion (re-search-forward "^[ \t]*$" pos t))) 2807 (save-excursion (re-search-forward "^[ \t]*$" pos t)))
2808 ;; If the first char was not an open-paren, there's 2808 ;; If the first char was not an open-paren, there's
2809 ;; a risk that this is really not an argument to the 2809 ;; a risk that this is really not an argument to the
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 0dfdb2a42ee..2c0195fc916 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -296,7 +296,7 @@
296 296
2972012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> 2972012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
298 298
299 * url-domsurf.el: New file (bug#1401). 299 * url-domsuf.el: New file (bug#1401).
300 300
301 * url-cookie.el (url-cookie-two-dot-domains): Remove. 301 * url-cookie.el (url-cookie-two-dot-domains): Remove.
302 (url-cookie-host-can-set-p): Use `url-domsuf-cookie-allowed-p' 302 (url-cookie-host-can-set-p): Use `url-domsuf-cookie-allowed-p'
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 06e46eeb663..6706300a377 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -791,7 +791,7 @@ If LIMIT is non-nil, show no more than this many entries."
791 (apply 'vc-git-command buffer 791 (apply 'vc-git-command buffer
792 'async files 792 'async files
793 (append 793 (append
794 '("log" "--no-color") 794 '("log" "--no-color" "--follow")
795 (when shortlog 795 (when shortlog
796 `("--graph" "--decorate" "--date=short" 796 `("--graph" "--decorate" "--date=short"
797 ,(format "--pretty=tformat:%s" 797 ,(format "--pretty=tformat:%s"
diff --git a/lisp/version.el b/lisp/version.el
index 0362b03484c..71e56858afa 100644
--- a/lisp/version.el
+++ b/lisp/version.el
@@ -128,6 +128,9 @@ Returns nil if unable to find this information."
128 "dir")) 128 "dir"))
129 (buffer-string)))) 129 (buffer-string))))
130 130
131(define-obsolete-function-alias 'emacs-bzr-get-version
132 'emacs-repository-get-version "24.4")
133
131(defun emacs-repository-get-version (&optional dir external) 134(defun emacs-repository-get-version (&optional dir external)
132 "Try to return as a string the repository revision of the Emacs sources. 135 "Try to return as a string the repository revision of the Emacs sources.
133The format of the returned string is dependent on the VCS in use. 136The format of the returned string is dependent on the VCS in use.
diff --git a/lisp/woman.el b/lisp/woman.el
index 87ebf415a02..7100e4b61cf 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -2300,7 +2300,7 @@ Currently set only from '\" t in the first line of the source file.")
2300 2300
2301 ;; Process \k escapes BEFORE changing tab width (?): 2301 ;; Process \k escapes BEFORE changing tab width (?):
2302 (goto-char from) 2302 (goto-char from)
2303 (woman-mark-horizonal-position) 2303 (woman-mark-horizontal-position)
2304 2304
2305 ;; Set buffer-local variables: 2305 ;; Set buffer-local variables:
2306 (setq fill-column woman-fill-column 2306 (setq fill-column woman-fill-column
@@ -3452,7 +3452,7 @@ Format paragraphs upto TO. Supports special chars.
3452Each element has the form (KEY VALUE . INC) -- inc may be nil. 3452Each element has the form (KEY VALUE . INC) -- inc may be nil.
3453Also bound locally in `woman2-roff-buffer'.") 3453Also bound locally in `woman2-roff-buffer'.")
3454 3454
3455(defun woman-mark-horizonal-position () 3455(defun woman-mark-horizontal-position ()
3456 "\\kx -- Store current horizontal position in INPUT LINE in register x." 3456 "\\kx -- Store current horizontal position in INPUT LINE in register x."
3457 (while (re-search-forward "\\\\k\\(.\\)" nil t) 3457 (while (re-search-forward "\\\\k\\(.\\)" nil t)
3458 (goto-char (match-beginning 0)) 3458 (goto-char (match-beginning 0))
diff --git a/m4/00gnulib.m4 b/m4/00gnulib.m4
index b494772e9ee..8eca5518ad6 100644
--- a/m4/00gnulib.m4
+++ b/m4/00gnulib.m4
@@ -1,4 +1,4 @@
1# 00gnulib.m4 serial 2 1# 00gnulib.m4 serial 3
2dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. 2dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
@@ -6,7 +6,23 @@ dnl with or without modifications, as long as this notice is preserved.
6 6
7dnl This file must be named something that sorts before all other 7dnl This file must be named something that sorts before all other
8dnl gnulib-provided .m4 files. It is needed until such time as we can 8dnl gnulib-provided .m4 files. It is needed until such time as we can
9dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics. 9dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and
10dnl m4_divert semantics.
11
12# Until autoconf 2.63, handling of the diversion stack required m4_init
13# to be called first; but this does not happen with aclocal. Wrapping
14# the entire execution in another layer of the diversion stack fixes this.
15# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4
16# for whether it was FIFO or LIFO; in order to properly balance with
17# m4_init, we need to undo our push just before anything wrapped within
18# the m4_init body. The way to ensure this is to wrap both sides of
19# m4_init with a one-shot macro that does the pop at the right time.
20m4_ifndef([_m4_divert_diversion],
21[m4_divert_push([KILL])
22m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])])
23m4_define([m4_init],
24 [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])])
25
10 26
11# AC_DEFUN_ONCE([NAME], VALUE) 27# AC_DEFUN_ONCE([NAME], VALUE)
12# ---------------------------- 28# ----------------------------
diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
index ae31e80d3bf..3b61b239beb 100644
--- a/m4/gnulib-common.m4
+++ b/m4/gnulib-common.m4
@@ -1,4 +1,4 @@
1# gnulib-common.m4 serial 33 1# gnulib-common.m4 serial 34
2dnl Copyright (C) 2007-2014 Free Software Foundation, Inc. 2dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
@@ -375,3 +375,7 @@ AC_DEFUN([gl_CACHE_VAL_SILENT],
375 AC_CACHE_VAL([$1], [$2]) 375 AC_CACHE_VAL([$1], [$2])
376 as_echo_n="$saved_as_echo_n" 376 as_echo_n="$saved_as_echo_n"
377]) 377])
378
379# AS_VAR_COPY was added in autoconf 2.63b
380m4_define_default([AS_VAR_COPY],
381[AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])])
diff --git a/msdos/inttypes.h b/msdos/inttypes.h
index 47cfdaeea33..9f59d4e1a2e 100644
--- a/msdos/inttypes.h
+++ b/msdos/inttypes.h
@@ -1,4 +1,4 @@
1/* Replacement inntypes.h file for building GNU Emacs on MS-DOS with DJGPP. 1/* Replacement inttypes.h file for building GNU Emacs on MS-DOS with DJGPP.
2 2
3Copyright (C) 2011-2014 Free Software Foundation, Inc. 3Copyright (C) 2011-2014 Free Software Foundation, Inc.
4 4
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 38f8d75b089..52582532fb3 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -3291,7 +3291,7 @@
3291 3291
3292 * src: Remove directory. 3292 * src: Remove directory.
3293 3293
3294 * src\config.h, src\paths.h: Moved to parent dir, src removed. 3294 * src/config.h, src/paths.h: Moved to parent dir, src removed.
3295 3295
32961995-04-09 Geoff Voelker <voelker@cs.washington.edu> 32961995-04-09 Geoff Voelker <voelker@cs.washington.edu>
3297 3297
diff --git a/nt/inc/inttypes.h b/nt/inc/inttypes.h
index 9dfc7feda02..e6d18f3861f 100644
--- a/nt/inc/inttypes.h
+++ b/nt/inc/inttypes.h
@@ -1,4 +1,4 @@
1/* Replacement inntypes.h file for building GNU Emacs on Windows with MSVC. 1/* Replacement inttypes.h file for building GNU Emacs on Windows with MSVC.
2 2
3Copyright (C) 2011-2014 Free Software Foundation, Inc. 3Copyright (C) 2011-2014 Free Software Foundation, Inc.
4 4
diff --git a/src/ChangeLog b/src/ChangeLog
index 8df6e31521d..556fcce5fa5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,37 @@
12014-01-11 Eli Zaretskii <eliz@gnu.org>
2
3 * xdisp.c (try_window_id): Don't use this function's optimizations
4 if overlays in the buffer displayed by the window have changed
5 since last redisplay. (Bug#16347)
6 (message_dolog): Fix indentation.
7
82014-01-11 Martin Rudalics <rudalics@gmx.at>
9
10 * frame.c (frame_resize_pixelwise): Fix doc-string.
11
122014-01-10 Martin Rudalics <rudalics@gmx.at>
13
14 Fix handling of internal borders (Bug#16348).
15 * dispnew.c (adjust_frame_glyphs_for_window_redisplay): Remove
16 internal border width from pixel width of windows.
17 (change_frame_size_1): Don't return early when frame's pixel
18 size changes - we still have to record the new sizes in the
19 frame structure.
20 * w32fns.c (x_set_tool_bar_lines): Clear internal border width
21 also when toolbar gets larger.
22 * window.c (check_frame_size): Include internal_border_width in
23 check.
24 * xdisp.c (Ftool_bar_height): Fix doc-string typo.
25 * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): In
26 non-toolkit/non-GTK version clear internal border.
27 * xterm.c (x_clear_under_internal_border): New function for
28 non-toolkit/non-GTK version.
29 (x_after_update_window_line): In non-toolkit/non-GTK version
30 don't do that.
31 (handle_one_xevent, x_set_window_size): Call
32 x_clear_under_internal_border in non-toolkit/non-GTK version.
33 * xterm.h (x_clear_under_internal_border): Extern it.
34
12014-01-07 Paul Eggert <eggert@cs.ucla.edu> 352014-01-07 Paul Eggert <eggert@cs.ucla.edu>
2 36
3 Fix misdisplay of interlaced GIFs with libgif5 (Bug#16372). 37 Fix misdisplay of interlaced GIFs with libgif5 (Bug#16372).
@@ -654,7 +688,7 @@
654 * conf_post.h: Include <stdbool.h>. 688 * conf_post.h: Include <stdbool.h>.
655 (bool_bf): New type. 689 (bool_bf): New type.
656 * dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY): 690 * dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY):
657 * interval.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE) 691 * intervals.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
658 Surround statement macro with proper 'do { ... } while (false)' brackets. 692 Surround statement macro with proper 'do { ... } while (false)' brackets.
659 * dispextern.h (IF_DEBUG): Properly parenthesize and convert to void. 693 * dispextern.h (IF_DEBUG): Properly parenthesize and convert to void.
660 Args must now be expressions; all callers changed. 694 Args must now be expressions; all callers changed.
@@ -3447,7 +3481,7 @@
3447 (Qbool_vector_p): Declare. 3481 (Qbool_vector_p): Declare.
3448 (CHECK_BOOL_VECTOR, ROUNDUP, BITS_PER_SIZE_T): New macros. 3482 (CHECK_BOOL_VECTOR, ROUNDUP, BITS_PER_SIZE_T): New macros.
3449 (swap16, swap32, swap64): New inline functions. 3483 (swap16, swap32, swap64): New inline functions.
3450 * macfont.c (macfont_shape): Change lint_assume to assume. 3484 * macfont.m (macfont_shape): Change lint_assume to assume.
3451 * ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout. 3485 * ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
3452 * xsettings.c (parse_settings): Use new swap16 and 3486 * xsettings.c (parse_settings): Use new swap16 and
3453 swap32 from lisp.h instead of file-specific macros. 3487 swap32 from lisp.h instead of file-specific macros.
@@ -3511,7 +3545,7 @@
3511 * process.h, process.c (PROCESS_INLINE): 3545 * process.h, process.c (PROCESS_INLINE):
3512 * syntax.h, syntax.c (SYNTAX_INLINE): 3546 * syntax.h, syntax.c (SYNTAX_INLINE):
3513 * systime.h, sysdep.c (SYSTIME_INLINE): 3547 * systime.h, sysdep.c (SYSTIME_INLINE):
3514 * termhooks.h, terminal.h (TERMHOOKS_INLINE): 3548 * termhooks.h, terminal.c (TERMHOOKS_INLINE):
3515 * window.h, window.c (WINDOW_INLINE): 3549 * window.h, window.c (WINDOW_INLINE):
3516 Remove. All uses replaced with INLINE. 3550 Remove. All uses replaced with INLINE.
3517 3551
@@ -3718,7 +3752,7 @@
3718 (x_handle_dnd_message): 3752 (x_handle_dnd_message):
3719 * xsettings.c (xft_settings_event): 3753 * xsettings.c (xft_settings_event):
3720 Use 'const XEvent * const' where appropriate. 3754 Use 'const XEvent * const' where appropriate.
3721 * xterm.h, gtkutil.h, xsettngs.h: Adjust related prototypes. 3755 * xterm.h, gtkutil.h, xsettings.h: Adjust related prototypes.
3722 3756
37232013-09-16 Dmitry Antipov <dmantipov@yandex.ru> 37572013-09-16 Dmitry Antipov <dmantipov@yandex.ru>
3724 3758
@@ -3760,7 +3794,7 @@
3760 (Fx_create_frame): Register macfont driver, make a better default font. 3794 (Fx_create_frame): Register macfont driver, make a better default font.
3761 (Fns_popup_font_panel): Get font from macfont driver, if used. 3795 (Fns_popup_font_panel): Get font from macfont driver, if used.
3762 3796
3763 * macfont.m, macfont.h, maccuvs.h: New files. 3797 * macfont.m, macfont.h, macuvs.h: New files.
3764 3798
3765 * font.h: Declare syms_of_macfont. 3799 * font.h: Declare syms_of_macfont.
3766 3800
@@ -6065,7 +6099,7 @@
6065 New unwind-protect flavors to better type-check C callbacks. 6099 New unwind-protect flavors to better type-check C callbacks.
6066 This also lessens the need to write wrappers for callbacks, 6100 This also lessens the need to write wrappers for callbacks,
6067 and the need for make_save_pointer. 6101 and the need for make_save_pointer.
6068 * alloca.c (free_save_value): 6102 * alloc.c (free_save_value):
6069 * atimer.c (run_all_atimers): 6103 * atimer.c (run_all_atimers):
6070 Now extern. 6104 Now extern.
6071 * alloc.c (safe_alloca_unwind): 6105 * alloc.c (safe_alloca_unwind):
@@ -6074,13 +6108,13 @@
6074 * menu.c (cleanup_popup_menu) [HAVE_NS]: 6108 * menu.c (cleanup_popup_menu) [HAVE_NS]:
6075 * minibuf.c (choose_minibuf_frame_1): 6109 * minibuf.c (choose_minibuf_frame_1):
6076 * process.c (make_serial_process_unwind): 6110 * process.c (make_serial_process_unwind):
6077 * xdisp.h (pop_message_unwind): 6111 * xdisp.c (pop_message_unwind):
6078 * xselect.c (queue_selection_requests_unwind): 6112 * xselect.c (queue_selection_requests_unwind):
6079 Remove no-longer-needed wrapper. All uses replaced by the wrappee. 6113 Remove no-longer-needed wrapper. All uses replaced by the wrappee.
6080 * alloca.c (record_xmalloc): 6114 * alloc.c (record_xmalloc):
6081 Prefer record_unwind_protect_ptr to record_unwind_protect with 6115 Prefer record_unwind_protect_ptr to record_unwind_protect with
6082 make_save_pointer. 6116 make_save_pointer.
6083 * alloca.c (Fgarbage_collect): 6117 * alloc.c (Fgarbage_collect):
6084 Prefer record_unwind_protect_void to passing a dummy. 6118 Prefer record_unwind_protect_void to passing a dummy.
6085 * buffer.c (restore_buffer): 6119 * buffer.c (restore_buffer):
6086 * window.c (restore_window_configuration): 6120 * window.c (restore_window_configuration):
@@ -6686,8 +6720,8 @@
6686 Use emacs_open more consistently when opening files. 6720 Use emacs_open more consistently when opening files.
6687 This handles EINTR more consistently now, and makes it easier 6721 This handles EINTR more consistently now, and makes it easier
6688 to introduce other uniform changes to file descriptor handling. 6722 to introduce other uniform changes to file descriptor handling.
6689 * src/systdio.h: New file. 6723 * sysstdio.h: New file.
6690 * src/buffer.c (mmap_init): 6724 * buffer.c (mmap_init):
6691 * cygw32.c (chdir_to_default_directory): 6725 * cygw32.c (chdir_to_default_directory):
6692 * dispnew.c (Fopen_termscript): 6726 * dispnew.c (Fopen_termscript):
6693 * emacs.c (Fdaemon_initialized): 6727 * emacs.c (Fdaemon_initialized):
diff --git a/src/ChangeLog.12 b/src/ChangeLog.12
index 07aedadccae..a9a1d9b1326 100644
--- a/src/ChangeLog.12
+++ b/src/ChangeLog.12
@@ -2400,7 +2400,7 @@
2400 * w32term.h (x_char_width, x_char_height): Likewise. 2400 * w32term.h (x_char_width, x_char_height): Likewise.
2401 * xfns.c (x_char_width, x_char_height): Remove. 2401 * xfns.c (x_char_width, x_char_height): Remove.
2402 * w32fns.c (x_char_width, x_char_height): Likewise. 2402 * w32fns.c (x_char_width, x_char_height): Likewise.
2403 * nsfns.c (x_char_width, x_char_height): Likewise. 2403 * nsfns.m (x_char_width, x_char_height): Likewise.
2404 * frame.c (Fframe_char_width): Use FRAME_COLUMN_WIDTH for 2404 * frame.c (Fframe_char_width): Use FRAME_COLUMN_WIDTH for
2405 all window frames. 2405 all window frames.
2406 (Fframe_char_height): Likewise with FRAME_LINE_HEIGHT. 2406 (Fframe_char_height): Likewise with FRAME_LINE_HEIGHT.
diff --git a/src/ChangeLog.3 b/src/ChangeLog.3
index 1a2763f8ff8..cee5d43ed57 100644
--- a/src/ChangeLog.3
+++ b/src/ChangeLog.3
@@ -15138,8 +15138,8 @@
15138 15138
151391989-06-23 Joseph Arceneaux (jla@apple-gunkies.ai.mit.edu) 151391989-06-23 Joseph Arceneaux (jla@apple-gunkies.ai.mit.edu)
15140 15140
15141 * xfns.c, lisp/term/x-win.el: C routine Fscreen_color_p now lisp 15141 * xfns.c: C routine Fscreen_color_p now lisp
15142 function x-color-screen-p in x-win.el. 15142 function x-color-screen-p in lisp/term/x-win.el.
15143 (x_set_cursor_color): New method: first disallow same cursor as 15143 (x_set_cursor_color): New method: first disallow same cursor as
15144 background, then if cursor not foreground, use it as cursor 15144 background, then if cursor not foreground, use it as cursor
15145 foreground. 15145 foreground.
diff --git a/src/dispnew.c b/src/dispnew.c
index c3cca33b187..e11d143d0b5 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -2055,7 +2055,8 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
2055 w->left_col = 0; 2055 w->left_col = 0;
2056 w->pixel_top = 0; 2056 w->pixel_top = 0;
2057 w->top_line = 0; 2057 w->top_line = 0;
2058 w->pixel_width = FRAME_PIXEL_WIDTH (f); 2058 w->pixel_width = (FRAME_PIXEL_WIDTH (f)
2059 - 2 * FRAME_INTERNAL_BORDER_WIDTH (f));
2059 w->total_cols = FRAME_TOTAL_COLS (f); 2060 w->total_cols = FRAME_TOTAL_COLS (f);
2060 w->pixel_height = FRAME_MENU_BAR_HEIGHT (f); 2061 w->pixel_height = FRAME_MENU_BAR_HEIGHT (f);
2061 w->total_lines = FRAME_MENU_BAR_LINES (f); 2062 w->total_lines = FRAME_MENU_BAR_LINES (f);
@@ -5515,7 +5516,11 @@ change_frame_size_1 (struct frame *f, int new_width, int new_height,
5515 example, fullscreen and remove/add scroll bar. */ 5516 example, fullscreen and remove/add scroll bar. */
5516 if (new_text_height == FRAME_TEXT_HEIGHT (f) 5517 if (new_text_height == FRAME_TEXT_HEIGHT (f)
5517 && new_text_width == FRAME_TEXT_WIDTH (f) 5518 && new_text_width == FRAME_TEXT_WIDTH (f)
5518 && new_root_width == old_root_width) 5519 && new_root_width == old_root_width
5520 && (FRAME_PIXEL_HEIGHT (f) ==
5521 FRAME_TEXT_TO_PIXEL_HEIGHT (f, new_text_height))
5522 && (FRAME_PIXEL_WIDTH (f) ==
5523 FRAME_TEXT_TO_PIXEL_WIDTH (f, new_text_width)))
5519 return; 5524 return;
5520 5525
5521 block_input (); 5526 block_input ();
diff --git a/src/font.c b/src/font.c
index cb0a28a524b..fa097c7d7e6 100644
--- a/src/font.c
+++ b/src/font.c
@@ -4429,7 +4429,7 @@ where
4429 LANGSYS is a symbol specifying a langsys tag of OpenType, 4429 LANGSYS is a symbol specifying a langsys tag of OpenType,
4430 GSUB and GPOS, if non-nil, are lists of symbols specifying feature tags. 4430 GSUB and GPOS, if non-nil, are lists of symbols specifying feature tags.
4431 4431
4432If LANGYS is nil, the default langsys is selected. 4432If LANGSYS is nil, the default langsys is selected.
4433 4433
4434The features are applied in the order they appear in the list. The 4434The features are applied in the order they appear in the list. The
4435symbol `*' means to apply all available features not present in this 4435symbol `*' means to apply all available features not present in this
diff --git a/src/frame.c b/src/frame.c
index 76883820672..703c67a3b1e 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -4709,7 +4709,6 @@ or call the function `tool-bar-mode'. */);
4709 4709
4710 DEFVAR_KBOARD ("default-minibuffer-frame", Vdefault_minibuffer_frame, 4710 DEFVAR_KBOARD ("default-minibuffer-frame", Vdefault_minibuffer_frame,
4711 doc: /* Minibufferless frames use this frame's minibuffer. 4711 doc: /* Minibufferless frames use this frame's minibuffer.
4712
4713Emacs cannot create minibufferless frames unless this is set to an 4712Emacs cannot create minibufferless frames unless this is set to an
4714appropriate surrogate. 4713appropriate surrogate.
4715 4714
@@ -4730,9 +4729,15 @@ automatically. See also `mouse-autoselect-window'. */);
4730 focus_follows_mouse = 0; 4729 focus_follows_mouse = 0;
4731 4730
4732 DEFVAR_BOOL ("frame-resize-pixelwise", frame_resize_pixelwise, 4731 DEFVAR_BOOL ("frame-resize-pixelwise", frame_resize_pixelwise,
4733 doc: /* Non-nil means frames are resized pixelwise. 4732 doc: /* Non-nil means resize frames pixelwise.
4734If this is nil, resizing a frame will round sizes to the frame's 4733If this option is nil, resizing a frame rounds its sizes to the frame's
4735current values of `frame-char-height' and `frame-char-width'. */); 4734current values of `frame-char-height' and `frame-char-width'. If this
4735is non-nil, no rounding occurs, hence frame sizes can increase/decrease
4736by one pixel.
4737
4738With some window managers you have to set this to non-nil in order to
4739fully maximize frames. The default of this option is nil. To resize
4740your initial frame pixelwise, set this option in your init file. */);
4736 frame_resize_pixelwise = 0; 4741 frame_resize_pixelwise = 0;
4737 4742
4738 staticpro (&Vframe_list); 4743 staticpro (&Vframe_list);
diff --git a/src/w32fns.c b/src/w32fns.c
index 03779be036c..d6f3fe7a3eb 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -1713,26 +1713,23 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
1713 /* If the tool bar gets smaller, the internal border below it 1713 /* If the tool bar gets smaller, the internal border below it
1714 has to be cleared. It was formerly part of the display 1714 has to be cleared. It was formerly part of the display
1715 of the larger tool bar, and updating windows won't clear it. */ 1715 of the larger tool bar, and updating windows won't clear it. */
1716 if (delta < 0) 1716 if (FRAME_INTERNAL_BORDER_WIDTH (f) != 0)
1717 { 1717 {
1718 int height = FRAME_INTERNAL_BORDER_WIDTH (f); 1718 int height = FRAME_INTERNAL_BORDER_WIDTH (f);
1719 int width = FRAME_PIXEL_WIDTH (f); 1719 int width = FRAME_PIXEL_WIDTH (f);
1720 int y = nlines * unit; 1720 int y = nlines * unit;
1721 HDC hdc = get_frame_dc (f);
1721 1722
1722 block_input (); 1723 block_input ();
1723 { 1724 w32_clear_area (f, hdc, 0, y, width, height);
1724 HDC hdc = get_frame_dc (f); 1725 release_frame_dc (f, hdc);
1725 w32_clear_area (f, hdc, 0, y, width, height);
1726 release_frame_dc (f, hdc);
1727 }
1728 unblock_input (); 1726 unblock_input ();
1729
1730 if (WINDOWP (f->tool_bar_window))
1731 clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix);
1732 } 1727 }
1733 1728
1734 run_window_configuration_change_hook (f); 1729 if (delta < 0 && WINDOWP (f->tool_bar_window))
1730 clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix);
1735 1731
1732 run_window_configuration_change_hook (f);
1736} 1733}
1737 1734
1738 1735
diff --git a/src/window.c b/src/window.c
index f85627ac49f..bd319f5be8f 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3155,6 +3155,7 @@ check_frame_size (struct frame *frame, int *width, int *height, bool pixelwise)
3155 min_height = 2 * min_height; 3155 min_height = 2 * min_height;
3156 3156
3157 min_height += FRAME_TOP_MARGIN_HEIGHT (frame); 3157 min_height += FRAME_TOP_MARGIN_HEIGHT (frame);
3158 min_height += FRAME_INTERNAL_BORDER_WIDTH (frame);
3158 3159
3159 if (*height < min_height) 3160 if (*height < min_height)
3160 *height = min_height; 3161 *height = min_height;
@@ -4047,6 +4048,8 @@ resize_frame_windows (struct frame *f, int size, bool horflag, bool pixelwise)
4047 have implicitly given us a zero or negative height. */ 4048 have implicitly given us a zero or negative height. */
4048 if (pixelwise) 4049 if (pixelwise)
4049 { 4050 {
4051 /* Note: This does not include the size for internal borders
4052 since these are not part of the frame's text area. */
4050 new_pixel_size = max (horflag 4053 new_pixel_size = max (horflag
4051 ? size 4054 ? size
4052 : (size 4055 : (size
diff --git a/src/xdisp.c b/src/xdisp.c
index 404c8a61e52..8efe3492db0 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -9854,7 +9854,7 @@ message_dolog (const char *m, ptrdiff_t nbytes, bool nlflag, bool multibyte)
9854 incrementing windows_or_buffers_changed even if *Messages* is 9854 incrementing windows_or_buffers_changed even if *Messages* is
9855 shown in some window. So we must manually set 9855 shown in some window. So we must manually set
9856 windows_or_buffers_changed here to make up for that. */ 9856 windows_or_buffers_changed here to make up for that. */
9857 windows_or_buffers_changed = old_windows_or_buffers_changed; 9857 windows_or_buffers_changed = old_windows_or_buffers_changed;
9858 bset_redisplay (current_buffer); 9858 bset_redisplay (current_buffer);
9859 9859
9860 set_buffer_internal (oldbuf); 9860 set_buffer_internal (oldbuf);
@@ -12109,7 +12109,7 @@ DEFUN ("tool-bar-height", Ftool_bar_height, Stool_bar_height,
12109 0, 2, 0, 12109 0, 2, 0,
12110 doc: /* Return the number of lines occupied by the tool bar of FRAME. 12110 doc: /* Return the number of lines occupied by the tool bar of FRAME.
12111If FRAME is nil or omitted, use the selected frame. Optional argument 12111If FRAME is nil or omitted, use the selected frame. Optional argument
12112PIXELWISE non-nil means return the height of the tool bar inpixels. */) 12112PIXELWISE non-nil means return the height of the tool bar in pixels. */)
12113 (Lisp_Object frame, Lisp_Object pixelwise) 12113 (Lisp_Object frame, Lisp_Object pixelwise)
12114{ 12114{
12115 int height = 0; 12115 int height = 0;
@@ -17333,9 +17333,16 @@ row_containing_pos (struct window *w, ptrdiff_t charpos,
17333 17333
17334 Value is 17334 Value is
17335 17335
17336 1 if display has been updated 17336 >= 1 if successful, i.e. display has been updated
17337 0 if otherwise unsuccessful 17337 specifically:
17338 1 means the changes were in front of a newline that precedes
17339 the window start, and the whole current matrix was reused
17340 2 means the changes were after the last position displayed
17341 in the window, and the whole current matrix was reused
17342 3 means portions of the current matrix were reused, while
17343 some of the screen lines were redrawn
17338 -1 if redisplay with same window start is known not to succeed 17344 -1 if redisplay with same window start is known not to succeed
17345 0 if otherwise unsuccessful
17339 17346
17340 The following steps are performed: 17347 The following steps are performed:
17341 17348
@@ -17410,6 +17417,12 @@ try_window_id (struct window *w)
17410 if (windows_or_buffers_changed || f->cursor_type_changed) 17417 if (windows_or_buffers_changed || f->cursor_type_changed)
17411 GIVE_UP (2); 17418 GIVE_UP (2);
17412 17419
17420 /* This function's optimizations cannot be used if overlays have
17421 changed in the buffer displayed by the window, so give up if they
17422 have. */
17423 if (w->last_overlay_modified != OVERLAY_MODIFF)
17424 GIVE_UP (21);
17425
17413 /* Verify that narrowing has not changed. 17426 /* Verify that narrowing has not changed.
17414 Also verify that we were not told to prevent redisplay optimizations. 17427 Also verify that we were not told to prevent redisplay optimizations.
17415 It would be nice to further 17428 It would be nice to further
diff --git a/src/xfns.c b/src/xfns.c
index a78c2bf6b76..debc707dba2 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -998,6 +998,8 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
998 FRAME_MENU_BAR_LINES (f) = nlines; 998 FRAME_MENU_BAR_LINES (f) = nlines;
999 FRAME_MENU_BAR_HEIGHT (f) = nlines * FRAME_LINE_HEIGHT (f); 999 FRAME_MENU_BAR_HEIGHT (f) = nlines * FRAME_LINE_HEIGHT (f);
1000 resize_frame_windows (f, FRAME_TEXT_HEIGHT (f), 0, 1); 1000 resize_frame_windows (f, FRAME_TEXT_HEIGHT (f), 0, 1);
1001 if (FRAME_X_WINDOW (f))
1002 x_clear_under_internal_border (f);
1001 1003
1002 /* If the menu bar height gets changed, the internal border below 1004 /* If the menu bar height gets changed, the internal border below
1003 the top margin has to be cleared. Also, if the menu bar gets 1005 the top margin has to be cleared. Also, if the menu bar gets
@@ -1110,8 +1112,11 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
1110 1112
1111 FRAME_TOOL_BAR_LINES (f) = nlines; 1113 FRAME_TOOL_BAR_LINES (f) = nlines;
1112 FRAME_TOOL_BAR_HEIGHT (f) = nlines * FRAME_LINE_HEIGHT (f); 1114 FRAME_TOOL_BAR_HEIGHT (f) = nlines * FRAME_LINE_HEIGHT (f);
1113 ++windows_or_buffers_changed;
1114 resize_frame_windows (f, FRAME_TEXT_HEIGHT (f), 0, 1); 1115 resize_frame_windows (f, FRAME_TEXT_HEIGHT (f), 0, 1);
1116#if !defined USE_X_TOOLKIT && !defined USE_GTK
1117 if (FRAME_X_WINDOW (f))
1118 x_clear_under_internal_border (f);
1119#endif
1115 adjust_frame_glyphs (f); 1120 adjust_frame_glyphs (f);
1116 1121
1117 /* We also have to make sure that the internal border at the top of 1122 /* We also have to make sure that the internal border at the top of
diff --git a/src/xterm.c b/src/xterm.c
index f47d73cf7ed..105aaed2972 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -593,6 +593,32 @@ XTframe_up_to_date (struct frame *f)
593} 593}
594 594
595 595
596/* Clear under internal border if any for non-toolkit builds. */
597
598
599#if !defined USE_X_TOOLKIT && !defined USE_GTK
600void
601x_clear_under_internal_border (struct frame *f)
602{
603 if (FRAME_INTERNAL_BORDER_WIDTH (f) > 0)
604 {
605 Display *display = FRAME_X_DISPLAY (f);
606 Window window = FRAME_X_WINDOW (f);
607 int border = FRAME_INTERNAL_BORDER_WIDTH (f);
608 int width = FRAME_PIXEL_WIDTH (f);
609 int height = FRAME_PIXEL_HEIGHT (f);
610 int margin = FRAME_TOP_MARGIN_HEIGHT (f);
611
612 block_input ();
613 x_clear_area (display, window, 0, 0, border, height);
614 x_clear_area (display, window, 0, margin, width, border);
615 x_clear_area (display, window, width - border, 0, border, height);
616 x_clear_area (display, window, 0, height - border, width, border);
617 unblock_input ();
618 }
619}
620#endif
621
596/* Draw truncation mark bitmaps, continuation mark bitmaps, overlay 622/* Draw truncation mark bitmaps, continuation mark bitmaps, overlay
597 arrow bitmaps, or clear the fringes if no bitmaps are required 623 arrow bitmaps, or clear the fringes if no bitmaps are required
598 before DESIRED_ROW is made current. This function is called from 624 before DESIRED_ROW is made current. This function is called from
@@ -602,38 +628,42 @@ XTframe_up_to_date (struct frame *f)
602static void 628static void
603x_after_update_window_line (struct window *w, struct glyph_row *desired_row) 629x_after_update_window_line (struct window *w, struct glyph_row *desired_row)
604{ 630{
605 struct frame *f;
606 int width, height;
607
608 eassert (w); 631 eassert (w);
609 632
610 if (!desired_row->mode_line_p && !w->pseudo_window_p) 633 if (!desired_row->mode_line_p && !w->pseudo_window_p)
611 desired_row->redraw_fringe_bitmaps_p = 1; 634 desired_row->redraw_fringe_bitmaps_p = 1;
612 635
636#ifdef USE_X_TOOLKIT
613 /* When a window has disappeared, make sure that no rest of 637 /* When a window has disappeared, make sure that no rest of
614 full-width rows stays visible in the internal border. Could 638 full-width rows stays visible in the internal border. Could
615 check here if updated window is the leftmost/rightmost window, 639 check here if updated window is the leftmost/rightmost window,
616 but I guess it's not worth doing since vertically split windows 640 but I guess it's not worth doing since vertically split windows
617 are almost never used, internal border is rarely set, and the 641 are almost never used, internal border is rarely set, and the
618 overhead is very small. */ 642 overhead is very small. */
619 if (windows_or_buffers_changed 643 {
620 && desired_row->full_width_p 644 struct frame *f;
621 && (f = XFRAME (w->frame), 645 int width, height;
622 width = FRAME_INTERNAL_BORDER_WIDTH (f), 646
623 width != 0) 647 if (windows_or_buffers_changed
624 && (height = desired_row->visible_height, 648 && desired_row->full_width_p
625 height > 0)) 649 && (f = XFRAME (w->frame),
626 { 650 width = FRAME_INTERNAL_BORDER_WIDTH (f),
627 int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y)); 651 width != 0)
652 && (height = desired_row->visible_height,
653 height > 0))
654 {
655 int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y));
628 656
629 block_input (); 657 block_input ();
630 x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), 658 x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
631 0, y, width, height); 659 0, y, width, height);
632 x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), 660 x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
633 FRAME_PIXEL_WIDTH (f) - width, 661 FRAME_PIXEL_WIDTH (f) - width,
634 y, width, height); 662 y, width, height);
635 unblock_input (); 663 unblock_input ();
636 } 664 }
665 }
666#endif
637} 667}
638 668
639static void 669static void
@@ -6618,7 +6648,8 @@ handle_one_xevent (struct x_display_info *dpyinfo,
6618 || event->xconfigure.height != FRAME_PIXEL_HEIGHT (f)) 6648 || event->xconfigure.height != FRAME_PIXEL_HEIGHT (f))
6619 { 6649 {
6620 change_frame_size (f, width, height, 0, 1, 0, 1); 6650 change_frame_size (f, width, height, 0, 1, 0, 1);
6621 SET_FRAME_GARBAGED (f); 6651 x_clear_under_internal_border (f);
6652 SET_FRAME_GARBAGED (f);
6622 cancel_mouse_face (f); 6653 cancel_mouse_face (f);
6623 } 6654 }
6624 6655
@@ -8635,6 +8666,9 @@ x_set_window_size (struct frame *f, int change_gravity, int width, int height, b
8635#else /* not USE_GTK */ 8666#else /* not USE_GTK */
8636 8667
8637 x_set_window_size_1 (f, change_gravity, width, height, pixelwise); 8668 x_set_window_size_1 (f, change_gravity, width, height, pixelwise);
8669#if !defined USE_X_TOOLKIT
8670 x_clear_under_internal_border (f);
8671#endif
8638 8672
8639#endif /* not USE_GTK */ 8673#endif /* not USE_GTK */
8640 8674
diff --git a/src/xterm.h b/src/xterm.h
index 7278f990528..3e79d46702c 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -1049,6 +1049,10 @@ extern void x_session_close (void);
1049 1049
1050extern Lisp_Object Qx_gtk_map_stock; 1050extern Lisp_Object Qx_gtk_map_stock;
1051 1051
1052#if !defined USE_X_TOOLKIT && !defined USE_GTK
1053extern void x_clear_under_internal_border (struct frame *f);
1054#endif
1055
1052/* Is the frame embedded into another application? */ 1056/* Is the frame embedded into another application? */
1053 1057
1054#define FRAME_X_EMBEDDED_P(f) (FRAME_X_OUTPUT(f)->explicit_parent != 0) 1058#define FRAME_X_EMBEDDED_P(f) (FRAME_X_OUTPUT(f)->explicit_parent != 0)
diff --git a/test/ChangeLog b/test/ChangeLog
index 493d33784b5..1c26b408224 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -44,8 +44,8 @@
44 44
452013-12-12 Nathan Trapuzzano <nbtrap@nbtrap.com> 452013-12-12 Nathan Trapuzzano <nbtrap@nbtrap.com>
46 46
47 * automated/python-test.el (python-indent-block-enders-1): Rename 47 * automated/python-tests.el (python-indent-block-enders-1):
48 from python-indent-block-enders. 48 Rename from python-indent-block-enders.
49 (python-indent-block-enders-2): New test. 49 (python-indent-block-enders-2): New test.
50 50
512013-12-08 Dmitry Gutov <dgutov@yandex.ru> 512013-12-08 Dmitry Gutov <dgutov@yandex.ru>
@@ -131,9 +131,8 @@
131 131
1322013-11-20 Bozhidar Batsov <bozhidar@batsov.com> 1322013-11-20 Bozhidar Batsov <bozhidar@batsov.com>
133 133
134 * test/automated/ruby-mode-tests.el (ruby-exit!-font-lock): 134 * automated/ruby-mode-tests.el (ruby-exit!-font-lock):
135 Add a failing test for Bug#15874. 135 Add a failing test for Bug#15874.
136 * test/automated/ruby-mode-tests.el
137 (ruby--insert-coding-comment-ruby-style) 136 (ruby--insert-coding-comment-ruby-style)
138 (ruby--insert-coding-comment-emacs-style) 137 (ruby--insert-coding-comment-emacs-style)
139 (ruby--insert-coding-comment-custom-style): 138 (ruby--insert-coding-comment-custom-style):
@@ -353,7 +352,7 @@
353 352
3542013-10-17 Barry O'Reilly <gundaetiapo@gmail.com> 3532013-10-17 Barry O'Reilly <gundaetiapo@gmail.com>
355 354
356 * test/automated/timer-tests.el: New file. Tests that (sit-for 0) 355 * automated/timer-tests.el: New file. Tests that (sit-for 0)
357 allows another timer to run. 356 allows another timer to run.
358 357
3592013-10-14 Dmitry Gutov <dgutov@yandex.ru> 3582013-10-14 Dmitry Gutov <dgutov@yandex.ru>
@@ -449,7 +448,7 @@
449 448
4502013-09-22 Daniel Colascione <dancol@dancol.org> 4492013-09-22 Daniel Colascione <dancol@dancol.org>
451 450
452 * automated/data-test.el: 451 * automated/data-tests.el:
453 (bool-vector-count-matches-all-0-nil) 452 (bool-vector-count-matches-all-0-nil)
454 (bool-vector-count-matches-all-0-t) 453 (bool-vector-count-matches-all-0-t)
455 (bool-vector-count-matches-1-il, bool-vector-count-matches-1-t) 454 (bool-vector-count-matches-1-il, bool-vector-count-matches-1-t)
@@ -523,8 +522,8 @@
523 522
5242013-08-14 Daniel Hackney <dan@haxney.org> 5232013-08-14 Daniel Hackney <dan@haxney.org>
525 524
526 * package-test.el: Remove tar-package-building functions. Tar file 525 * automated/package-test.el: Remove tar-package-building functions.
527 used for testing is included in the repository. 526 Tar file used for testing is included in the repository.
528 (package-test-install-texinfo, package-test-cleanup-built-files): 527 (package-test-install-texinfo, package-test-cleanup-built-files):
529 Remove. 528 Remove.
530 529
@@ -772,7 +771,7 @@
772 771
7732013-05-26 Aidan Gauland <aidalgol@amuri.net> 7722013-05-26 Aidan Gauland <aidalgol@amuri.net>
774 773
775 * tests/eshell.el: Rewrite tests using ERT. 774 * eshell.el: Rewrite tests using ERT.
776 775
7772013-05-25 Leo Liu <sdl.web@gmail.com> 7762013-05-25 Leo Liu <sdl.web@gmail.com>
778 777
@@ -802,7 +801,7 @@
802 801
8032013-04-01 Masatake YAMATO <yamato@redhat.com> 8022013-04-01 Masatake YAMATO <yamato@redhat.com>
804 803
805 * automated/imenu-tests.el: New file. (Bug#14112) 804 * automated/imenu-test.el: New file. (Bug#14112)
806 805
8072013-04-19 Fabián Ezequiel Gallina <fgallina@gnu.org> 8062013-04-19 Fabián Ezequiel Gallina <fgallina@gnu.org>
808 807
@@ -1161,7 +1160,7 @@
1161 * automated/newsticker-tests.el 1160 * automated/newsticker-tests.el
1162 (newsticker--group-manage-orphan-feeds): Use fset instead of flet. 1161 (newsticker--group-manage-orphan-feeds): Use fset instead of flet.
1163 1162
1164 * trunk/test/automated/newsticker-tests.el 1163 * automated/newsticker-tests.el
1165 (newsticker--group-manage-orphan-feeds): Prevent updating 1164 (newsticker--group-manage-orphan-feeds): Prevent updating
1166 newsticker treeview. Fixed bug#9763. 1165 newsticker treeview. Fixed bug#9763.
1167 1166
diff --git a/test/indent/pascal.pas b/test/indent/pascal.pas
index 1ae22d369d1..4b3be7cf57c 100644
--- a/test/indent/pascal.pas
+++ b/test/indent/pascal.pas
@@ -688,7 +688,7 @@ var
688 NoSound; 688 NoSound;
689 RestoreTerminalClearCRT; 689 RestoreTerminalClearCRT;
690 WriteLn (StdErr, 'You''re trying to kill me. Since I have break checking turned off,'); 690 WriteLn (StdErr, 'You''re trying to kill me. Since I have break checking turned off,');
691 WriteLn (StdErr, 'I''m not dying, but I''ll do you a favour and terminate now.'); 691 WriteLn (StdErr, 'I''m not dying, but I''ll do you a favor and terminate now.');
692 Halt (3) 692 Halt (3)
693 end; 693 end;
694 694