aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2013-04-24 22:12:03 +0300
committerEli Zaretskii2013-04-24 22:12:03 +0300
commit2800c4d3155df0768410a675359fb360dfe2e791 (patch)
tree26f88ac8793567324f8860b616fa5dc674945e22
parent54ab7d34c56aca38b600cdc3e37fc215e7abec06 (diff)
parent6139439fac7839d2c13ec9c1045b581d3941b2fc (diff)
downloademacs-2800c4d3155df0768410a675359fb360dfe2e791.tar.gz
emacs-2800c4d3155df0768410a675359fb360dfe2e791.zip
Merge from trunk.
-rw-r--r--doc/lispintro/ChangeLog24
-rw-r--r--doc/lispintro/Makefile.in12
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi164
-rw-r--r--doc/lispintro/makefile.w32-in12
-rw-r--r--doc/lispref/ChangeLog5
-rw-r--r--doc/lispref/internals.texi20
-rw-r--r--etc/ChangeLog5
-rw-r--r--etc/themes/tsdh-dark-theme.el19
-rw-r--r--lisp/ChangeLog45
-rw-r--r--lisp/progmodes/compile.el10
-rw-r--r--lisp/startup.el69
-rw-r--r--lisp/textmodes/reftex-vars.el3
-rw-r--r--lisp/textmodes/reftex.el1
-rw-r--r--lisp/textmodes/remember.el24
-rw-r--r--lisp/vc/vc-bzr.el14
-rw-r--r--lisp/vc/vc-cvs.el3
-rw-r--r--lisp/vc/vc-git.el8
-rw-r--r--lisp/vc/vc-hg.el9
-rw-r--r--lisp/vc/vc-mtn.el4
-rw-r--r--lisp/vc/vc-rcs.el12
-rw-r--r--lisp/vc/vc-sccs.el3
-rw-r--r--lisp/vc/vc-svn.el7
-rw-r--r--lisp/vc/vc.el21
-rw-r--r--src/ChangeLog6
-rw-r--r--src/coding.c8
25 files changed, 254 insertions, 254 deletions
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog
index be9f9f963c0..5e4655506f6 100644
--- a/doc/lispintro/ChangeLog
+++ b/doc/lispintro/ChangeLog
@@ -1,7 +1,27 @@
12013-04-24 Eli Zaretskii <eliz@gnu.org>
2
3 * makefile.w32-in (INFO_OPTS): Add "-I$(emacsdir)" to fix last
4 commit.
5
62013-04-24 Glenn Morris <rgm@gnu.org>
7
8 * emacs-lisp-intro.texi (emacsver.texi): Include it.
9 (copying): For non-printed versions, uses Emacs version rather
10 than that of the printed book.
11 (Complications, Lisp macro, defvar and asterisk, defcustom): Copyedits.
12 * Makefile.in (emacsdir): New variable..
13 (MAKEINFO_OPTS, ENVADD): Add $emacsdir.
14 (srcs): Add emacsver.texi.
15 (dist): Include emacsver.texi. Edit emacsdir.
16 * makefile.w32-in (emacsdir): New variable.
17 (INFO_SOURCES): Add emacsver.texi.
18 (ENVADD): Add $emacsdir (and $texinfodir).
19
12013-04-23 Xue Fuqiao <xfq.free@gmail.com> 202013-04-23 Xue Fuqiao <xfq.free@gmail.com>
2 21
3 * emacs-lisp-intro.texi (Complications, defvar): Refine the doc 22 * emacs-lisp-intro.texi (Complications, defvar, Writing Defuns)
4 about Lisp macros. (http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00618.html) 23 (Prevent confusion, Determining the Element, lambda): Refine the
24 doc about Lisp macros, reported by Glenn Morris.
5 25
62013-04-21 Xue Fuqiao <xfq.free@gmail.com> 262013-04-21 Xue Fuqiao <xfq.free@gmail.com>
7 27
diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in
index a6b50b88ad9..338b4ad86c4 100644
--- a/doc/lispintro/Makefile.in
+++ b/doc/lispintro/Makefile.in
@@ -25,6 +25,8 @@ version=@version@
25buildinfodir = $(srcdir)/../../info 25buildinfodir = $(srcdir)/../../info
26# Directory with the (customized) texinfo.tex file. 26# Directory with the (customized) texinfo.tex file.
27texinfodir = $(srcdir)/../misc 27texinfodir = $(srcdir)/../misc
28# Directory with emacsver.texi.
29emacsdir = $(srcdir)/../emacs
28 30
29MKDIR_P = @MKDIR_P@ 31MKDIR_P = @MKDIR_P@
30 32
@@ -33,17 +35,18 @@ INFO_EXT=@INFO_EXT@
33INFO_OPTS=@INFO_OPTS@ 35INFO_OPTS=@INFO_OPTS@
34 36
35MAKEINFO = @MAKEINFO@ 37MAKEINFO = @MAKEINFO@
36MAKEINFO_OPTS = --force -I $(srcdir) 38MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir)
37TEXI2DVI = texi2dvi 39TEXI2DVI = texi2dvi
38TEXI2PDF = texi2pdf 40TEXI2PDF = texi2pdf
39DVIPS = dvips 41DVIPS = dvips
40 42
41ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \ 43ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
42 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" 44 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
43 45
44mkinfodir = @${MKDIR_P} ${buildinfodir} 46mkinfodir = @${MKDIR_P} ${buildinfodir}
45 47
46srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi 48srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
49 ${emacsdir}/emacsver.texi
47 50
48.PHONY: info dvi html pdf ps 51.PHONY: info dvi html pdf ps
49 52
@@ -97,9 +100,10 @@ dist:
97 rm -rf emacs-lispintro-${version} 100 rm -rf emacs-lispintro-${version}
98 mkdir emacs-lispintro-${version} 101 mkdir emacs-lispintro-${version}
99 cp ${srcdir}/*.texi ${srcdir}/*.eps ${srcdir}/*.pdf \ 102 cp ${srcdir}/*.texi ${srcdir}/*.eps ${srcdir}/*.pdf \
100 ${texinfodir}/texinfo.tex \ 103 ${texinfodir}/texinfo.tex ${emacsdir}/emacsver.texi \
101 ${srcdir}/ChangeLog* ${srcdir}/README emacs-lispintro-${version}/ 104 ${srcdir}/ChangeLog* ${srcdir}/README emacs-lispintro-${version}/
102 sed -e 's/@sr[c]dir@/./' -e 's/^\(texinfodir *=\).*/\1 ./' \ 105 sed -e 's/@sr[c]dir@/./' -e 's/^\(texinfodir *=\).*/\1 ./' \
106 -e 's/^\(emacsdir *=\).*/\1 ./' \
103 -e 's/^\(buildinfodir *=\).*/\1 ./' \ 107 -e 's/^\(buildinfodir *=\).*/\1 ./' \
104 -e 's/^\(clean:.*\)/\1 infoclean/' \ 108 -e 's/^\(clean:.*\)/\1 infoclean/' \
105 -e "s/@ver[s]ion@/${version}/" \ 109 -e "s/@ver[s]ion@/${version}/" \
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index 7831603124e..ce4da17658e 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -8,6 +8,8 @@
8@syncodeindex fn cp 8@syncodeindex fn cp
9@finalout 9@finalout
10 10
11@include emacsver.texi
12
11@c --------- 13@c ---------
12@c <<<< For hard copy printing, this file is now 14@c <<<< For hard copy printing, this file is now
13@c set for smallbook, which works for all sizes 15@c set for smallbook, which works for all sizes
@@ -35,79 +37,9 @@
35\global\hbadness=6666 % don't worry about not-too-underfull boxes 37\global\hbadness=6666 % don't worry about not-too-underfull boxes
36@end tex 38@end tex
37 39
40@c These refer to the printed book sold by the FSF.
38@set edition-number 3.10 41@set edition-number 3.10
39@set update-date 28 October 2009 42@set update-date 28 October 2009
40@c FIXME can this be updated? -- xfq
41
42@ignore
43 ## Summary of shell commands to create various output formats:
44
45 pushd /usr/local/src/emacs/lispintro/
46 ## pushd /u/intro/
47
48 ## Info output
49 makeinfo --paragraph-indent=0 --verbose emacs-lisp-intro.texi
50
51 ## ;; (progn (when (bufferp (get-buffer "*info*")) (kill-buffer "*info*")) (info "/usr/local/src/emacs/info/eintr"))
52
53 ## DVI output
54 texi2dvi emacs-lisp-intro.texi
55
56 ## xdvi -margins 24pt -topmargin 4pt -offsets 24pt -geometry 760x1140 -s 5 -useTeXpages -mousemode 1 emacs-lisp-intro.dvi &
57
58 ## HTML output
59 makeinfo --html --no-split --verbose emacs-lisp-intro.texi
60
61 ## galeon emacs-lisp-intro.html
62
63 ## Plain text output
64 makeinfo --fill-column=70 --no-split --paragraph-indent=0 \
65 --verbose --no-headers --output=emacs-lisp-intro.txt emacs-lisp-intro.texi
66
67 popd
68
69# as user `root'
70# insert thumbdrive
71 mtusb # mount -v -t ext3 /dev/sda /mnt
72 cp -v /u/intro/emacs-lisp-intro.texi /mnt/backup/intro/emacs-lisp-intro.texi
73 umtusb # umount -v /mnt
74# remove thumbdrive
75
76 ## Other shell commands
77
78 pushd /usr/local/src/emacs/lispintro/
79 ## pushd /u/intro/
80
81 ## PDF
82 texi2dvi --pdf emacs-lisp-intro.texi
83 # xpdf emacs-lisp-intro.pdf &
84
85 ## DocBook -- note file extension
86 makeinfo --docbook --no-split --paragraph-indent=0 \
87 --verbose --output=emacs-lisp-intro.docbook emacs-lisp-intro.texi
88
89 ## XML with a Texinfo DTD -- note file extension
90 makeinfo --xml --no-split --paragraph-indent=0 \
91 --verbose --output=emacs-lisp-intro.texinfoxml emacs-lisp-intro.texi
92
93 ## PostScript (needs DVI)
94 # gv emacs-lisp-intro.ps &
95 # Create DVI if we lack it
96 # texi2dvi emacs-lisp-intro.texi
97 dvips emacs-lisp-intro.dvi -o emacs-lisp-intro.ps
98
99 ## RTF (needs HTML)
100 # Use OpenOffice to view RTF
101 # Create HTML if we lack it
102 # makeinfo --no-split --html emacs-lisp-intro.texi
103 /usr/local/src/html2rtf.pl emacs-lisp-intro.html
104
105 ## LaTeX (needs RTF)
106 /usr/bin/rtf2latex emacs-lisp-intro.rtf
107
108 popd
109
110@end ignore
111 43
112@c ================ Included Figures ================ 44@c ================ Included Figures ================
113 45
@@ -117,25 +49,6 @@
117@c Your site may require editing changes to print PostScript; in this 49@c Your site may require editing changes to print PostScript; in this
118@c case, search for `print-postscript-figures' and make appropriate changes. 50@c case, search for `print-postscript-figures' and make appropriate changes.
119 51
120@c ================ How to Create an Info file ================
121
122@c If you have `makeinfo' installed, run the following command
123
124@c makeinfo emacs-lisp-intro.texi
125
126@c or, if you want a single, large Info file, and no paragraph indents:
127@c makeinfo --no-split --paragraph-indent=0 --verbose emacs-lisp-intro.texi
128
129@c After creating the Info file, edit your Info `dir' file, if the
130@c `dircategory' section below does not enable your system to
131@c install the manual automatically.
132@c (The `dir' file is often in the `/usr/local/share/info/' directory.)
133
134@c ================ How to Create an HTML file ================
135
136@c To convert to HTML format
137@c makeinfo --html --no-split --verbose emacs-lisp-intro.texi
138
139@c ================ How to Print a Book in Various Sizes ================ 52@c ================ How to Print a Book in Various Sizes ================
140 53
141@c This book can be printed in any of three different sizes. 54@c This book can be printed in any of three different sizes.
@@ -154,34 +67,6 @@
154@c @afourpaper 67@c @afourpaper
155@c @set largebook 68@c @set largebook
156 69
157@c ================ How to Typeset and Print ================
158
159@c If you do not include PostScript figures, run either of the
160@c following command sequences, or similar commands suited to your
161@c system:
162
163@c texi2dvi emacs-lisp-intro.texi
164@c lpr -d emacs-lisp-intro.dvi
165
166@c or else:
167
168@c tex emacs-lisp-intro.texi
169@c texindex emacs-lisp-intro.??
170@c tex emacs-lisp-intro.texi
171@c lpr -d emacs-lisp-intro.dvi
172
173@c If you include the PostScript figures, and you have old software,
174@c you may need to convert the .dvi file to a .ps file before
175@c printing. Run either of the following command sequences, or one
176@c similar:
177@c
178@c dvips -f < emacs-lisp-intro.dvi > emacs-lisp-intro.ps
179@c
180@c or else:
181@c
182@c postscript -p < emacs-lisp-intro.dvi > emacs-lisp-intro.ps
183@c
184
185@c (Note: if you edit the book so as to change the length of the 70@c (Note: if you edit the book so as to change the length of the
186@c table of contents, you may have to change the value of `pageno' below.) 71@c table of contents, you may have to change the value of `pageno' below.)
187 72
@@ -227,7 +112,12 @@
227This is an @cite{Introduction to Programming in Emacs Lisp}, for 112This is an @cite{Introduction to Programming in Emacs Lisp}, for
228people who are not programmers. 113people who are not programmers.
229@sp 1 114@sp 1
115@iftex
230Edition @value{edition-number}, @value{update-date} 116Edition @value{edition-number}, @value{update-date}
117@end iftex
118@ifnottex
119Distributed with Emacs version @value{EMACSVER}.
120@end ifnottex
231@ifset WWW_GNU_ORG 121@ifset WWW_GNU_ORG
232@html 122@html
233<p>The homepage for GNU Emacs is at 123<p>The homepage for GNU Emacs is at
@@ -244,7 +134,7 @@ Foundation, Inc.
244@iftex 134@iftex
245Published by the:@* 135Published by the:@*
246 136
247GNU Press, @hfill @uref{http://www.fsf.org/campaigns/gnu-press/}@* 137GNU Press, @hfill @uref{http://www.fsf.org/licensing/gnu-press/}@*
248a division of the @hfill email: @email{sales@@fsf.org}@* 138a division of the @hfill email: @email{sales@@fsf.org}@*
249Free Software Foundation, Inc. @hfill Tel: +1 (617) 542-5942@* 139Free Software Foundation, Inc. @hfill Tel: +1 (617) 542-5942@*
25051 Franklin Street, Fifth Floor @hfill Fax: +1 (617) 542-2652@* 14051 Franklin Street, Fifth Floor @hfill Fax: +1 (617) 542-2652@*
@@ -252,10 +142,10 @@ Boston, MA 02110-1301 USA
252@end iftex 142@end iftex
253 143
254@ifnottex 144@ifnottex
255Published by the: 145Printed copies available from @uref{http://shop.fsf.org/}. Published by:
256 146
257@example 147@example
258GNU Press, http://www.fsf.org/campaigns/gnu-press/ 148GNU Press, http://www.fsf.org/licensing/gnu-press/
259a division of the email: sales@@fsf.org 149a division of the email: sales@@fsf.org
260Free Software Foundation, Inc. Tel: +1 (617) 542-5942 150Free Software Foundation, Inc. Tel: +1 (617) 542-5942
26151 Franklin Street, Fifth Floor Fax: +1 (617) 542-2652 15151 Franklin Street, Fifth Floor Fax: +1 (617) 542-2652
@@ -264,7 +154,6 @@ Boston, MA 02110-1301 USA
264@end ifnottex 154@end ifnottex
265 155
266@sp 1 156@sp 1
267@c Printed copies are available from @uref{http://shop.fsf.org/} for $35 each.@*
268ISBN 1-882114-43-4 157ISBN 1-882114-43-4
269 158
270Permission is granted to copy, distribute and/or modify this document 159Permission is granted to copy, distribute and/or modify this document
@@ -1623,13 +1512,20 @@ do not work in the usual manner. Those that don't are called
1623@dfn{special forms}. They are used for special jobs, like defining a 1512@dfn{special forms}. They are used for special jobs, like defining a
1624function, and there are not many of them. In the next few chapters, 1513function, and there are not many of them. In the next few chapters,
1625you will be introduced to several of the more important special forms. 1514you will be introduced to several of the more important special forms.
1626And there are also @dfn{macros}. Macro is a construct defined in
1627Lisp, which differs from a function in that it translates a Lisp
1628expression into another expression which is to be evaluated instead of
1629the original expression. (@xref{Lisp macro}.)
1630 1515
1516As well as special forms, there are also @dfn{macros}. A macro
1517is a construct defined in Lisp, which differs from a function in that it
1518translates a Lisp expression into another expression that is to be
1519evaluated in place of the original expression. (@xref{Lisp macro}.)
1631 1520
1632The third and final complication is this: if the function that the 1521For the purposes of this introduction, you do not need to worry too much
1522about whether something is a special form, macro, or ordinary function.
1523For example, @code{if} is a special form (@pxref{if}), but @code{when}
1524is a macro (@pxref{Lisp macro}). In earlier versions of Emacs,
1525@code{defun} was a special form, but now it is a macro (@pxref{defun}).
1526It still behaves in the same way.
1527
1528The final complication is this: if the function that the
1633Lisp interpreter is looking at is not a special form, and if it is part 1529Lisp interpreter is looking at is not a special form, and if it is part
1634of a list, the Lisp interpreter looks to see whether the list has a list 1530of a list, the Lisp interpreter looks to see whether the list has a list
1635inside of it. If there is an inner list, the Lisp interpreter first 1531inside of it. If there is an inner list, the Lisp interpreter first
@@ -3059,7 +2955,7 @@ symbol refers to it.)
3059 2955
3060@menu 2956@menu
3061* Primitive Functions:: 2957* Primitive Functions::
3062* defun:: The @code{defun} special form. 2958* defun:: The @code{defun} macro.
3063* Install:: Install a function definition. 2959* Install:: Install a function definition.
3064* Interactive:: Making a function interactive. 2960* Interactive:: Making a function interactive.
3065* Interactive Options:: Different options for @code{interactive}. 2961* Interactive Options:: Different options for @code{interactive}.
@@ -3700,7 +3596,7 @@ name for a @dfn{local variable} that overshadows any use of the same
3700name outside the @code{let} expression. This is like understanding 3596name outside the @code{let} expression. This is like understanding
3701that whenever your host refers to `the house', he means his house, not 3597that whenever your host refers to `the house', he means his house, not
3702yours. (Symbols used in argument lists work the same way. 3598yours. (Symbols used in argument lists work the same way.
3703@xref{defun, , The @code{defun} Special Form}.) 3599@xref{defun, , The @code{defun} Macro}.)
3704 3600
3705Local variables created by a @code{let} expression retain their value 3601Local variables created by a @code{let} expression retain their value
3706@emph{only} within the @code{let} expression itself (and within 3602@emph{only} within the @code{let} expression itself (and within
@@ -8313,7 +8209,7 @@ an @code{if} without the possibility of an else clause. In your mind,
8313you can replace @code{when} with @code{if} and understand what goes 8209you can replace @code{when} with @code{if} and understand what goes
8314on. That is what the Lisp interpreter does. 8210on. That is what the Lisp interpreter does.
8315 8211
8316Technically speaking, @code{when} is a Lisp macro. A Lisp @dfn{macro} 8212Technically speaking, @code{when} is a Lisp macro. A Lisp macro
8317enables you to define new control constructs and other language 8213enables you to define new control constructs and other language
8318features. It tells the interpreter how to compute another Lisp 8214features. It tells the interpreter how to compute another Lisp
8319expression which will in turn compute the value. In this case, the 8215expression which will in turn compute the value. In this case, the
@@ -9366,7 +9262,7 @@ In the past, Emacs used the @code{defvar} special form both for
9366internal variables that you would not expect a user to change and for 9262internal variables that you would not expect a user to change and for
9367variables that you do expect a user to change. Although you can still 9263variables that you do expect a user to change. Although you can still
9368use @code{defvar} for user customizable variables, please use 9264use @code{defvar} for user customizable variables, please use
9369@code{defcustom} instead, since that special form provides a path into 9265@code{defcustom} instead, since it provides a path into
9370the Customization commands. (@xref{defcustom, , Specifying Variables 9266the Customization commands. (@xref{defcustom, , Specifying Variables
9371using @code{defcustom}}.) 9267using @code{defcustom}}.)
9372 9268
@@ -17025,7 +16921,7 @@ Finally, the @code{:group} keyword tells the Emacs Customization
17025command in which group the variable is located. This tells where to 16921command in which group the variable is located. This tells where to
17026find it. 16922find it.
17027 16923
17028The @code{defcustom} function recognizes more than a dozen keywords. 16924The @code{defcustom} macro recognizes more than a dozen keywords.
17029For more information, see @ref{Customization, , Writing Customization 16925For more information, see @ref{Customization, , Writing Customization
17030Definitions, elisp, The GNU Emacs Lisp Reference Manual}. 16926Definitions, elisp, The GNU Emacs Lisp Reference Manual}.
17031 16927
@@ -19456,7 +19352,7 @@ them in an argument list (and within expressions called by them).
19456@ignore 19352@ignore
19457@c texi2dvi fails when the name of the section is within ifnottex ... 19353@c texi2dvi fails when the name of the section is within ifnottex ...
19458(@xref{Prevent confusion, , @code{let} Prevents Confusion}, and 19354(@xref{Prevent confusion, , @code{let} Prevents Confusion}, and
19459@ref{defun, , The @code{defun} Special Form}.) 19355@ref{defun, , The @code{defun} Macro}.)
19460@end ignore 19356@end ignore
19461 19357
19462@node yank 19358@node yank
@@ -20976,7 +20872,7 @@ equivalent of @code{multiply-by-seven} is:
20976@end smallexample 20872@end smallexample
20977 20873
20978@noindent 20874@noindent
20979(@xref{defun, , The @code{defun} Special Form}.) 20875(@xref{defun, , The @code{defun} Macro}.)
20980 20876
20981@need 1250 20877@need 1250
20982@noindent 20878@noindent
diff --git a/doc/lispintro/makefile.w32-in b/doc/lispintro/makefile.w32-in
index 377112a80d2..39760ba5612 100644
--- a/doc/lispintro/makefile.w32-in
+++ b/doc/lispintro/makefile.w32-in
@@ -23,10 +23,13 @@ srcdir = .
23infodir = $(srcdir)/../../info 23infodir = $(srcdir)/../../info
24# Directory with the (customized) texinfo.tex file. 24# Directory with the (customized) texinfo.tex file.
25texinfodir = $(srcdir)/../misc 25texinfodir = $(srcdir)/../misc
26# Directory with emacsver.texi.
27emacsdir = $(srcdir)/../emacs
26 28
27INFO_EXT=.info 29INFO_EXT=.info
28INFO_OPTS=--no-split 30INFO_OPTS=--no-split -I$(emacsdir)
29INFO_SOURCES = $(srcdir)/emacs-lisp-intro.texi $(srcdir)/doclicense.texi 31INFO_SOURCES = $(srcdir)/emacs-lisp-intro.texi $(emacsdir)/emacsver.texi \
32 $(srcdir)/doclicense.texi
30# The file name eintr must fit within 5 characters, to allow for 33# The file name eintr must fit within 5 characters, to allow for
31# -NN extensions to fit into DOS 8+3 limits without clashing 34# -NN extensions to fit into DOS 8+3 limits without clashing
32INFO_TARGETS = $(infodir)/eintr$(INFO_EXT) 35INFO_TARGETS = $(infodir)/eintr$(INFO_EXT)
@@ -37,8 +40,9 @@ INSTALL_INFO = install-info
37TEXI2DVI = texi2dvi 40TEXI2DVI = texi2dvi
38TEXI2PDF = texi2pdf 41TEXI2PDF = texi2pdf
39DVIPS = dvips 42DVIPS = dvips
40ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \ 43ENVADD = $(srcdir)\..\..\nt\envadd.bat \
41 "MAKEINFO=$(MAKEINFO) -I$(srcdir) -I$(texinfodir)" /C 44 "TEXINPUTS=$(srcdir);$(texinfodir);$(emacsdir);$(TEXINPUTS)" \
45 "MAKEINFO=$(MAKEINFO) -I$(srcdir) -I$(emacsdir) -I$(texinfodir)" /C
42 46
43.SUFFIXES: .dvi .ps .texi 47.SUFFIXES: .dvi .ps .texi
44 48
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index f770fb3cada..1a6fd5eca0d 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,8 @@
12013-04-23 Glenn Morris <rgm@gnu.org>
2
3 * internals.texi (Writing Emacs Primitives): Remove obvious example.
4 Tweak other to avoid overly long line.
5
12013-04-21 Xue Fuqiao <xfq.free@gmail.com> 62013-04-21 Xue Fuqiao <xfq.free@gmail.com>
2 7
3 * internals.texi (Writing Emacs Primitives): Remove unnecessary 8 * internals.texi (Writing Emacs Primitives): Remove unnecessary
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index 24440858b7e..06375c1e18e 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -666,28 +666,20 @@ less than 8.
666This is an interactive specification, a string such as might be used 666This is an interactive specification, a string such as might be used
667as the argument of @code{interactive} in a Lisp function. In the case 667as the argument of @code{interactive} in a Lisp function. In the case
668of @code{or}, it is 0 (a null pointer), indicating that @code{or} 668of @code{or}, it is 0 (a null pointer), indicating that @code{or}
669cannot be called interactively. A value of @code{""} indicates a function that should receive no 669cannot be called interactively. A value of @code{""} indicates a
670arguments when called interactively. For example: 670function that should receive no arguments when called interactively.
671
672@smallexample
673@group
674DEFUN ("baz", Fbaz, Sbaz, 0, 0, "",
675 doc: /* @dots{} */)
676@end group
677@end smallexample
678
679If the value begins with a @samp{"(}, the string is evaluated as a 671If the value begins with a @samp{"(}, the string is evaluated as a
680Lisp form. For example: 672Lisp form. For example:
681 673
682@smallexample 674@example
683@group 675@group
684DEFUN ("foo", Ffoo, Sfoo, 0, UNEVALLED, "(list 676DEFUN ("foo", Ffoo, Sfoo, 0, UNEVALLED,
685 (read-char-by-name \"Insert character (Unicode name or hex): \")\ 677 "(list (read-char-by-name \"Insert character: \")\
686 (prefix-numeric-value current-prefix-arg)\ 678 (prefix-numeric-value current-prefix-arg)\
687 t))", 679 t))",
688 doc: /* @dots{} /*) 680 doc: /* @dots{} /*)
689@end group 681@end group
690@end smallexample 682@end example
691 683
692@item doc 684@item doc
693This is the documentation string. It uses C comment syntax rather 685This is the documentation string. It uses C comment syntax rather
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 0dd27a1c0c0..afad0864c84 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,8 @@
12013-04-24 Tassilo Horn <tsdh@gnu.org>
2
3 * themes/tsdh-dark-theme.el (tsdh-dark): Add ido faces and remove
4 :box from outline faces.
5
12013-04-18 Leo Liu <sdl.web@gmail.com> 62013-04-18 Leo Liu <sdl.web@gmail.com>
2 7
3 * NEWS: Mention new key ? for describe-prefix-bindings. 8 * NEWS: Mention new key ? for describe-prefix-bindings.
diff --git a/etc/themes/tsdh-dark-theme.el b/etc/themes/tsdh-dark-theme.el
index 879f8f10e8a..7b0c711f3b4 100644
--- a/etc/themes/tsdh-dark-theme.el
+++ b/etc/themes/tsdh-dark-theme.el
@@ -65,6 +65,9 @@ Used and created by Tassilo Horn.")
65 '(hl-line ((t (:background "grey25")))) 65 '(hl-line ((t (:background "grey25"))))
66 '(hl-paren-face ((t (:weight bold))) t) 66 '(hl-paren-face ((t (:weight bold))) t)
67 '(icomplete-first-match ((t (:foreground "deep sky blue" :weight bold)))) 67 '(icomplete-first-match ((t (:foreground "deep sky blue" :weight bold))))
68 '(ido-first-match ((t (:foreground "turquoise" :weight bold))))
69 '(ido-only-match ((t (:foreground "medium spring green" :weight bold))))
70 '(ido-subdir ((t (:inherit dired-directory :weight normal))))
68 '(lusty-file-face ((t (:foreground "SpringGreen1"))) t) 71 '(lusty-file-face ((t (:foreground "SpringGreen1"))) t)
69 '(magit-header ((t (:box 1 :weight bold)))) 72 '(magit-header ((t (:box 1 :weight bold))))
70 '(magit-section-title ((t (:inherit magit-header :background "dark slate blue")))) 73 '(magit-section-title ((t (:inherit magit-header :background "dark slate blue"))))
@@ -95,14 +98,14 @@ Used and created by Tassilo Horn.")
95 '(org-scheduled-previously ((t (:foreground "#FF7400")))) 98 '(org-scheduled-previously ((t (:foreground "#FF7400"))))
96 '(org-tag ((t (:weight bold)))) 99 '(org-tag ((t (:weight bold))))
97 '(org-todo ((t (:foreground "#FF6961" :weight bold)))) 100 '(org-todo ((t (:foreground "#FF6961" :weight bold))))
98 '(outline-1 ((t (:foreground "cyan1" :box (:line-width 1 :color "gainsboro") :weight bold)))) 101 '(outline-1 ((t (:foreground "cyan1" :weight bold))))
99 '(outline-2 ((t (:foreground "SeaGreen1" :box (:line-width 1 :color "gainsboro") :weight bold)))) 102 '(outline-2 ((t (:foreground "SeaGreen1" :weight bold))))
100 '(outline-3 ((t (:foreground "cyan3" :box (:line-width 1 :color "gainsboro") :weight bold)))) 103 '(outline-3 ((t (:foreground "cyan3" :weight bold))))
101 '(outline-4 ((t (:foreground "SeaGreen3" :box (:line-width 1 :color "gainsboro") :weight bold)))) 104 '(outline-4 ((t (:foreground "SeaGreen3" :weight bold))))
102 '(outline-5 ((t (:foreground "LightGoldenrod1" :box (:line-width 1 :color "gainsboro") :weight bold)))) 105 '(outline-5 ((t (:foreground "LightGoldenrod1" :weight bold))))
103 '(outline-6 ((t (:foreground "light salmon" :box (:line-width 1 :color "gainsboro") :weight bold)))) 106 '(outline-6 ((t (:foreground "light salmon" :weight bold))))
104 '(outline-7 ((t (:foreground "pale goldenrod" :box (:line-width 1 :color "gainsboro") :weight bold)))) 107 '(outline-7 ((t (:foreground "pale goldenrod" :weight bold))))
105 '(outline-8 ((t (:foreground "OliveDrab1" :box (:line-width 1 :color "gainsboro") :weight bold)))) 108 '(outline-8 ((t (:foreground "OliveDrab1" :weight bold))))
106 '(rcirc-my-nick ((t (:foreground "SpringGreen1" :weight bold))) t) 109 '(rcirc-my-nick ((t (:foreground "SpringGreen1" :weight bold))) t)
107 '(rcirc-other-nick ((t (:foreground "dodger blue"))) t) 110 '(rcirc-other-nick ((t (:foreground "dodger blue"))) t)
108 '(rcirc-track-keyword ((t (:foreground "DodgerBlue" :weight bold))) t) 111 '(rcirc-track-keyword ((t (:foreground "DodgerBlue" :weight bold))) t)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 59e2a227e42..f69e60e50a7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,14 +1,47 @@
12013-04-23 Tassilo Horn <tsdh@gnu.org> 12013-04-24 Reuben Thomas <rrt@sc3d.org>
2 2
3 * textmodes/reftex.el (reftex-compile-variables): Add autoload 3 * textmodes/remember.el (remember-handler-functions): Add an
4 cookie. 4 option for a new handler `remember-store-in-files'.
5 (remember-data-directory, remember-directory-file-name-format):
6 New options.
7 (remember-store-in-files): New function to store remember notes
8 as separate files within a directory.
9
102013-04-24 Magnus Henoch <magnus.henoch@gmail.com>
11
12 * progmodes/compile.el (compilation-next-error-function):
13 Pass "formats" to compilation-find-file (bug#11777).
14
152013-04-24 Glenn Morris <rgm@gnu.org>
16
17 * vc/vc-bzr.el (vc-bzr-print-log):
18 * vc/vc-hg.el (vc-hg-print-log):
19 * vc/vc-svn.el (vc-svn-print-log):
20 Fix START-REVISION with LIMIT != 1. (Bug#14168)
21
22 * vc/vc-bzr.el (vc-bzr-print-log):
23 * vc/vc-cvs.el (vc-cvs-print-log):
24 * vc/vc-git.el (vc-git-print-log):
25 * vc/vc-hg.el (vc-hg-print-log):
26 * vc/vc-mtn.el (vc-mtn-print-log):
27 * vc/vc-rcs.el (vc-rcs-print-log):
28 * vc/vc-sccs.el (vc-sccs-print-log):
29 * vc/vc-svn.el (vc-svn-print-log):
30 * vc/vc.el (vc-print-log-internal): Doc fixes.
31
322013-04-23 Glenn Morris <rgm@gnu.org>
33
34 * startup.el (normal-no-mouse-startup-screen, normal-about-screen):
35 Remove venerable code attempting to avoid substitute-command-keys.
36
372013-04-23 Tassilo Horn <tsdh@gnu.org>
5 38
6 * textmodes/reftex-vars.el (reftex-label-regexps): Call 39 * textmodes/reftex-vars.el (reftex-label-regexps):
7 `reftex-compile-variables' after changes to this variable. 40 Call `reftex-compile-variables' after changes to this variable.
8 41
92013-04-23 Stefan Monnier <monnier@iro.umontreal.ca> 422013-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
10 43
11 * jit-lock.el: Fix signals in jit-lock-force-redisplay. 44 * jit-lock.el: Fix signals in jit-lock-force-redisplay (bug#13542).
12 Use lexical-binding. 45 Use lexical-binding.
13 (jit-lock-force-redisplay): Use markers, check buffer's continued 46 (jit-lock-force-redisplay): Use markers, check buffer's continued
14 existence and beware narrowed buffers. 47 existence and beware narrowed buffers.
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 98a89bb2363..d6f136ec92d 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -2382,10 +2382,12 @@ This is the value of `next-error-function' in Compilation buffers."
2382 ;; (setq timestamp compilation-buffer-modtime))) 2382 ;; (setq timestamp compilation-buffer-modtime)))
2383 ) 2383 )
2384 (with-current-buffer 2384 (with-current-buffer
2385 (compilation-find-file 2385 (apply #'compilation-find-file
2386 marker 2386 marker
2387 (caar (compilation--loc->file-struct loc)) 2387 (caar (compilation--loc->file-struct loc))
2388 (cadr (car (compilation--loc->file-struct loc)))) 2388 (cadr (car (compilation--loc->file-struct loc)))
2389 (compilation--file-struct->formats
2390 (compilation--loc->file-struct loc)))
2389 (let ((screen-columns 2391 (let ((screen-columns
2390 ;; Obey the compilation-error-screen-columns of the target 2392 ;; Obey the compilation-error-screen-columns of the target
2391 ;; buffer if its major mode set it buffer-locally. 2393 ;; buffer if its major mode set it buffer-locally.
diff --git a/lisp/startup.el b/lisp/startup.el
index dc21005ab94..b7b4c156f02 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1856,11 +1856,8 @@ To quit a partially entered command, type Control-g.\n")
1856 (insert "\n" (emacs-version) 1856 (insert "\n" (emacs-version)
1857 "\n" emacs-copyright)) 1857 "\n" emacs-copyright))
1858 1858
1859;; No mouse menus, so give help using kbd commands.
1860(defun normal-no-mouse-startup-screen () 1859(defun normal-no-mouse-startup-screen ()
1861 1860 "Show a splash screen suitable for displays without mouse support."
1862 ;; If keys have their default meanings,
1863 ;; use precomputed string to save lots of time.
1864 (let* ((c-h-accessible 1861 (let* ((c-h-accessible
1865 ;; If normal-erase-is-backspace is used on a tty, there's 1862 ;; If normal-erase-is-backspace is used on a tty, there's
1866 ;; no way to invoke C-h and you have to use F1 instead. 1863 ;; no way to invoke C-h and you have to use F1 instead.
@@ -1938,47 +1935,24 @@ If you have no Meta key, you may instead type ESC followed by the character.)")
1938 'follow-link t) 1935 'follow-link t)
1939 (insert "\n") 1936 (insert "\n")
1940 (insert "\n" (emacs-version) "\n" emacs-copyright "\n") 1937 (insert "\n" (emacs-version) "\n" emacs-copyright "\n")
1941 1938 (insert (substitute-command-keys
1942 (if (and (eq (key-binding "\C-h\C-c") 'describe-copying) 1939 "
1943 (eq (key-binding "\C-h\C-o") 'describe-distribution)
1944 (eq (key-binding "\C-h\C-w") 'describe-no-warranty))
1945 (progn
1946 (insert
1947 "
1948GNU Emacs comes with ABSOLUTELY NO WARRANTY; type C-h C-w for ")
1949 (insert-button "full details"
1950 'action (lambda (_button) (describe-no-warranty))
1951 'follow-link t)
1952 (insert ".
1953Emacs is Free Software--Free as in Freedom--so you can redistribute copies
1954of Emacs and modify it; type C-h C-c to see ")
1955 (insert-button "the conditions"
1956 'action (lambda (_button) (describe-copying))
1957 'follow-link t)
1958 (insert ".
1959Type C-h C-d for information on ")
1960 (insert-button "getting the latest version"
1961 'action (lambda (_button) (describe-distribution))
1962 'follow-link t)
1963 (insert "."))
1964 (insert (substitute-command-keys
1965 "
1966GNU Emacs comes with ABSOLUTELY NO WARRANTY; type \\[describe-no-warranty] for ")) 1940GNU Emacs comes with ABSOLUTELY NO WARRANTY; type \\[describe-no-warranty] for "))
1967 (insert-button "full details" 1941 (insert-button "full details"
1968 'action (lambda (_button) (describe-no-warranty)) 1942 'action (lambda (_button) (describe-no-warranty))
1969 'follow-link t) 1943 'follow-link t)
1970 (insert (substitute-command-keys ". 1944 (insert (substitute-command-keys ".
1971Emacs is Free Software--Free as in Freedom--so you can redistribute copies 1945Emacs is Free Software--Free as in Freedom--so you can redistribute copies
1972of Emacs and modify it; type \\[describe-copying] to see ")) 1946of Emacs and modify it; type \\[describe-copying] to see "))
1973 (insert-button "the conditions" 1947 (insert-button "the conditions"
1974 'action (lambda (_button) (describe-copying)) 1948 'action (lambda (_button) (describe-copying))
1975 'follow-link t) 1949 'follow-link t)
1976 (insert (substitute-command-keys". 1950 (insert (substitute-command-keys".
1977Type \\[describe-distribution] for information on ")) 1951Type \\[describe-distribution] for information on "))
1978 (insert-button "getting the latest version" 1952 (insert-button "getting the latest version"
1979 'action (lambda (_button) (describe-distribution)) 1953 'action (lambda (_button) (describe-distribution))
1980 'follow-link t) 1954 'follow-link t)
1981 (insert "."))) 1955 (insert "."))
1982 1956
1983(defun normal-about-screen () 1957(defun normal-about-screen ()
1984 (insert "\n" (emacs-version) "\n" emacs-copyright "\n\n") 1958 (insert "\n" (emacs-version) "\n" emacs-copyright "\n\n")
@@ -2027,14 +2001,11 @@ Type \\[describe-distribution] for information on "))
2027 (insert "\tBuying printed manuals from the FSF\n")) 2001 (insert "\tBuying printed manuals from the FSF\n"))
2028 2002
2029(defun startup-echo-area-message () 2003(defun startup-echo-area-message ()
2030 (cond ((daemonp) 2004 (if (daemonp)
2031 "Starting Emacs daemon.") 2005 "Starting Emacs daemon."
2032 ((eq (key-binding "\C-h\C-a") 'about-emacs) 2006 (substitute-command-keys
2033 "For information about GNU Emacs and the GNU system, type C-h C-a.") 2007 "For information about GNU Emacs and the GNU system, type \
2034 (t 2008\\[about-emacs].")))
2035 (substitute-command-keys
2036 "For information about GNU Emacs and the GNU system, type \
2037\\[about-emacs]."))))
2038 2009
2039(defun display-startup-echo-area-message () 2010(defun display-startup-echo-area-message ()
2040 (let ((resize-mini-windows t)) 2011 (let ((resize-mini-windows t))
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el
index a220002286e..7343d86b06f 100644
--- a/lisp/textmodes/reftex-vars.el
+++ b/lisp/textmodes/reftex-vars.el
@@ -880,7 +880,8 @@ When changed from Lisp, make sure to call
880effective." 880effective."
881 :set (lambda (symbol value) 881 :set (lambda (symbol value)
882 (set symbol value) 882 (set symbol value)
883 (reftex-compile-variables)) 883 (when (fboundp 'reftex-compile-variables)
884 (reftex-compile-variables)))
884 :group 'reftex-defining-label-environments 885 :group 'reftex-defining-label-environments
885 :type '(repeat (regexp :tag "Regular Expression"))) 886 :type '(repeat (regexp :tag "Regular Expression")))
886 887
diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el
index 8b5dee5a037..21083fd188a 100644
--- a/lisp/textmodes/reftex.el
+++ b/lisp/textmodes/reftex.el
@@ -811,7 +811,6 @@ This enforces rescanning the buffer on next use."
811 (reftex-kill-buffer (reftex-make-index-buffer-name tag))) 811 (reftex-kill-buffer (reftex-make-index-buffer-name tag)))
812 (cdr (assoc 'index-tags (symbol-value reftex-docstruct-symbol))))) 812 (cdr (assoc 'index-tags (symbol-value reftex-docstruct-symbol)))))
813 813
814;;;###autoload
815(defun reftex-compile-variables () 814(defun reftex-compile-variables ()
816 ;; Compile the information in reftex-label-alist & Co. 815 ;; Compile the information in reftex-label-alist & Co.
817 816
diff --git a/lisp/textmodes/remember.el b/lisp/textmodes/remember.el
index 16b99627400..1286e5d803e 100644
--- a/lisp/textmodes/remember.el
+++ b/lisp/textmodes/remember.el
@@ -216,10 +216,11 @@ All functions are run in the remember buffer."
216Each function is called with the current buffer narrowed to what the 216Each function is called with the current buffer narrowed to what the
217user wants remembered. 217user wants remembered.
218If any function returns non-nil, the data is assumed to have been 218If any function returns non-nil, the data is assumed to have been
219recorded somewhere by that function. " 219recorded somewhere by that function."
220 :type 'hook 220 :type 'hook
221 :options '(remember-store-in-mailbox 221 :options '(remember-store-in-mailbox
222 remember-append-to-file 222 remember-append-to-file
223 remember-store-in-files
223 remember-diary-extract-entries 224 remember-diary-extract-entries
224 org-remember-handler) 225 org-remember-handler)
225 :group 'remember) 226 :group 'remember)
@@ -429,6 +430,27 @@ If you want to remember a region, supply a universal prefix to
429 (run-hook-with-args-until-success 'remember-handler-functions)) 430 (run-hook-with-args-until-success 'remember-handler-functions))
430 (remember-destroy)))) 431 (remember-destroy))))
431 432
433(defcustom remember-data-directory "~/remember"
434 "The directory in which to store remember data as files."
435 :type 'file
436 :group 'remember)
437
438(defcustom remember-directory-file-name-format "%Y-%m-%d_%T-%z"
439 "Format string for the file name in which to store unprocessed data."
440 :type 'file
441 :group 'remember)
442
443(defun remember-store-in-files ()
444 "Store remember data in a file in `remember-data-directory'.
445The file is named after `remember-directory-file-name-format'."
446 (let ((name (format-time-string
447 remember-directory-file-name-format (current-time)))
448 (text (buffer-string)))
449 (with-temp-buffer
450 (insert text)
451 (write-file (convert-standard-filename
452 (format "%s/%s" remember-data-directory name))))))
453
432;;;###autoload 454;;;###autoload
433(defun remember-clipboard () 455(defun remember-clipboard ()
434 "Remember the contents of the current clipboard. 456 "Remember the contents of the current clipboard.
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el
index d72c1f7f859..06942ad283c 100644
--- a/lisp/vc/vc-bzr.el
+++ b/lisp/vc/vc-bzr.el
@@ -694,7 +694,10 @@ REV non-nil gets an error."
694 ("^ *timestamp: \\(.*\\)" (1 'change-log-date-face))))))) 694 ("^ *timestamp: \\(.*\\)" (1 'change-log-date-face)))))))
695 695
696(defun vc-bzr-print-log (files buffer &optional shortlog start-revision limit) 696(defun vc-bzr-print-log (files buffer &optional shortlog start-revision limit)
697 "Get bzr change log for FILES into specified BUFFER." 697 "Print commit log associated with FILES into specified BUFFER.
698If SHORTLOG is non-nil, use --line format.
699If START-REVISION is non-nil, it is the newest revision to show.
700If LIMIT is non-nil, show no more than this many entries."
698 ;; `vc-do-command' creates the buffer, but we need it before running 701 ;; `vc-do-command' creates the buffer, but we need it before running
699 ;; the command. 702 ;; the command.
700 (vc-setup-buffer buffer) 703 (vc-setup-buffer buffer)
@@ -709,6 +712,15 @@ REV non-nil gets an error."
709 (when shortlog '("--line")) 712 (when shortlog '("--line"))
710 (when start-revision (list (format "-r..%s" start-revision))) 713 (when start-revision (list (format "-r..%s" start-revision)))
711 (when limit (list "-l" (format "%s" limit))) 714 (when limit (list "-l" (format "%s" limit)))
715 ;; This is to remove --forward, if it has been added by an alias.
716 ;; There is no sensible way to combine --limit and --forward,
717 ;; and it breaks the meaning of START-REVISION as the
718 ;; _newest_ revision. See bug#14168.
719 ;; FIXME There may be other alias stuff we want to keep.
720 ;; Is there a way to just suppress --forward?
721 ;; As of 2013/4 the only caller uses limit = 1, so it does
722 ;; not matter much.
723 (and start-revision limit (> limit 1) '("--no-aliases"))
712 (if (stringp vc-bzr-log-switches) 724 (if (stringp vc-bzr-log-switches)
713 (list vc-bzr-log-switches) 725 (list vc-bzr-log-switches)
714 vc-bzr-log-switches))))) 726 vc-bzr-log-switches)))))
diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el
index 334683898be..7a8f8107509 100644
--- a/lisp/vc/vc-cvs.el
+++ b/lisp/vc/vc-cvs.el
@@ -503,7 +503,8 @@ Will fail unless you have administrative privileges on the repo."
503(declare-function vc-rcs-print-log-cleanup "vc-rcs" ()) 503(declare-function vc-rcs-print-log-cleanup "vc-rcs" ())
504 504
505(defun vc-cvs-print-log (files buffer &optional _shortlog _start-revision limit) 505(defun vc-cvs-print-log (files buffer &optional _shortlog _start-revision limit)
506 "Get change logs associated with FILES." 506 "Print commit log associated with FILES into specified BUFFER.
507Remaining arguments are ignored."
507 (require 'vc-rcs) 508 (require 'vc-rcs)
508 ;; It's just the catenation of the individual logs. 509 ;; It's just the catenation of the individual logs.
509 (vc-cvs-command 510 (vc-cvs-command
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 17de931628b..06474cb4604 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -732,9 +732,11 @@ This prompts for a branch to merge from."
732;;; HISTORY FUNCTIONS 732;;; HISTORY FUNCTIONS
733 733
734(defun vc-git-print-log (files buffer &optional shortlog start-revision limit) 734(defun vc-git-print-log (files buffer &optional shortlog start-revision limit)
735 "Get change log associated with FILES. 735 "Print commit log associated with FILES into specified BUFFER.
736Note that using SHORTLOG requires at least Git version 1.5.6, 736If SHORTLOG is non-nil, use a short format based on `vc-git-root-log-format'.
737for the --graph option." 737\(This requires at least Git version 1.5.6, for the --graph option.)
738If START-REVISION is non-nil, it is the newest revision to show.
739If LIMIT is non-nil, show no more than this many entries."
738 (let ((coding-system-for-read vc-git-commits-coding-system)) 740 (let ((coding-system-for-read vc-git-commits-coding-system))
739 ;; `vc-do-command' creates the buffer, but we need it before running 741 ;; `vc-do-command' creates the buffer, but we need it before running
740 ;; the command. 742 ;; the command.
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index 033e78c20cd..feec015e52a 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -152,7 +152,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
152 (2 'change-log-list) 152 (2 'change-log-list)
153 (3 'change-log-name) 153 (3 'change-log-name)
154 (4 'change-log-date))) 154 (4 'change-log-date)))
155 "Mercurial log template for `vc-print-root-log'. 155 "Mercurial log template for `vc-hg-print-log' short format.
156This should be a list (TEMPLATE REGEXP KEYWORDS), where TEMPLATE 156This should be a list (TEMPLATE REGEXP KEYWORDS), where TEMPLATE
157is the \"--template\" argument string to pass to Mercurial, 157is the \"--template\" argument string to pass to Mercurial,
158REGEXP is a regular expression matching the resulting Mercurial 158REGEXP is a regular expression matching the resulting Mercurial
@@ -246,7 +246,10 @@ highlighting the Log View buffer."
246 :group 'vc-hg) 246 :group 'vc-hg)
247 247
248(defun vc-hg-print-log (files buffer &optional shortlog start-revision limit) 248(defun vc-hg-print-log (files buffer &optional shortlog start-revision limit)
249 "Get change log associated with FILES." 249 "Print commit log associated with FILES into specified BUFFER.
250If SHORTLOG is non-nil, use a short format based on `vc-hg-root-log-format'.
251If START-REVISION is non-nil, it is the newest revision to show.
252If LIMIT is non-nil, show no more than this many entries."
250 ;; `vc-do-command' creates the buffer, but we need it before running 253 ;; `vc-do-command' creates the buffer, but we need it before running
251 ;; the command. 254 ;; the command.
252 (vc-setup-buffer buffer) 255 (vc-setup-buffer buffer)
@@ -257,7 +260,7 @@ highlighting the Log View buffer."
257 buffer 260 buffer
258 (apply 'vc-hg-command buffer 0 files "log" 261 (apply 'vc-hg-command buffer 0 files "log"
259 (nconc 262 (nconc
260 (when start-revision (list (format "-r%s:" start-revision))) 263 (when start-revision (list (format "-r%s:0" start-revision)))
261 (when limit (list "-l" (format "%s" limit))) 264 (when limit (list "-l" (format "%s" limit)))
262 (when shortlog (list "--template" (car vc-hg-root-log-format))) 265 (when shortlog (list "--template" (car vc-hg-root-log-format)))
263 vc-hg-log-switches))))) 266 vc-hg-log-switches)))))
diff --git a/lisp/vc/vc-mtn.el b/lisp/vc/vc-mtn.el
index 06827a5e027..fbfd89561b7 100644
--- a/lisp/vc/vc-mtn.el
+++ b/lisp/vc/vc-mtn.el
@@ -202,6 +202,10 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
202;; ) 202;; )
203 203
204(defun vc-mtn-print-log (files buffer &optional _shortlog start-revision limit) 204(defun vc-mtn-print-log (files buffer &optional _shortlog start-revision limit)
205 "Print commit logs associated with FILES into specified BUFFER.
206_SHORTLOG is ignored.
207If START-REVISION is non-nil, it is the newest revision to show.
208If LIMIT is non-nil, show no more than this many entries."
205 (apply 'vc-mtn-command buffer 0 files "log" 209 (apply 'vc-mtn-command buffer 0 files "log"
206 (append 210 (append
207 (when start-revision (list "--from" (format "%s" start-revision))) 211 (when start-revision (list "--from" (format "%s" start-revision)))
diff --git a/lisp/vc/vc-rcs.el b/lisp/vc/vc-rcs.el
index 40d8acb7e07..0a2fc804e6d 100644
--- a/lisp/vc/vc-rcs.el
+++ b/lisp/vc/vc-rcs.el
@@ -567,10 +567,14 @@ directory the operation is applied to all registered files beneath it."
567 (when (looking-at "[\b\t\n\v\f\r ]+") 567 (when (looking-at "[\b\t\n\v\f\r ]+")
568 (delete-char (- (match-end 0) (match-beginning 0)))))) 568 (delete-char (- (match-end 0) (match-beginning 0))))))
569 569
570(defun vc-rcs-print-log (files buffer &optional shortlog start-revision-ignored limit) 570(defun vc-rcs-print-log (files buffer &optional shortlog
571 "Get change log associated with FILE. If FILE is a 571 start-revision-ignored limit)
572directory the operation is applied to all registered files beneath it." 572 "Print commit log associated with FILES into specified BUFFER.
573 (vc-do-command (or buffer "*vc*") 0 "rlog" (mapcar 'vc-name (vc-expand-dirs files))) 573Remaining arguments are ignored.
574If FILE is a directory the operation is applied to all registered
575files beneath it."
576 (vc-do-command (or buffer "*vc*") 0 "rlog"
577 (mapcar 'vc-name (vc-expand-dirs files)))
574 (with-current-buffer (or buffer "*vc*") 578 (with-current-buffer (or buffer "*vc*")
575 (vc-rcs-print-log-cleanup)) 579 (vc-rcs-print-log-cleanup))
576 (when limit 'limit-unsupported)) 580 (when limit 'limit-unsupported))
diff --git a/lisp/vc/vc-sccs.el b/lisp/vc/vc-sccs.el
index bfbe42222e9..d3cf650ddf9 100644
--- a/lisp/vc/vc-sccs.el
+++ b/lisp/vc/vc-sccs.el
@@ -350,7 +350,8 @@ revert all subfiles."
350;;; 350;;;
351 351
352(defun vc-sccs-print-log (files buffer &optional shortlog start-revision-ignored limit) 352(defun vc-sccs-print-log (files buffer &optional shortlog start-revision-ignored limit)
353 "Get change log associated with FILES." 353 "Print commit log associated with FILES into specified BUFFER.
354Remaining arguments are ignored."
354 (setq files (vc-expand-dirs files)) 355 (setq files (vc-expand-dirs files))
355 (vc-sccs-do-command buffer 0 "prs" (mapcar 'vc-name files)) 356 (vc-sccs-do-command buffer 0 "prs" (mapcar 'vc-name files))
356 (when limit 'limit-unsupported)) 357 (when limit 'limit-unsupported))
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el
index 923888b460b..a94bf0d6117 100644
--- a/lisp/vc/vc-svn.el
+++ b/lisp/vc/vc-svn.el
@@ -494,7 +494,10 @@ or svn+ssh://."
494 (set (make-local-variable 'log-view-per-file-logs) nil)) 494 (set (make-local-variable 'log-view-per-file-logs) nil))
495 495
496(defun vc-svn-print-log (files buffer &optional shortlog start-revision limit) 496(defun vc-svn-print-log (files buffer &optional shortlog start-revision limit)
497 "Get change log(s) associated with FILES." 497 "Print commit log associated with FILES into specified BUFFER.
498SHORTLOG is ignored.
499If START-REVISION is non-nil, it is the newest revision to show.
500If LIMIT is non-nil, show no more than this many entries."
498 (save-current-buffer 501 (save-current-buffer
499 (vc-setup-buffer buffer) 502 (vc-setup-buffer buffer)
500 (let ((inhibit-read-only t)) 503 (let ((inhibit-read-only t))
@@ -512,7 +515,7 @@ or svn+ssh://."
512 (append 515 (append
513 (list 516 (list
514 (if start-revision 517 (if start-revision
515 (format "-r%s" start-revision) 518 (format "-r%s:1" start-revision)
516 ;; By default Subversion only shows the log up to the 519 ;; By default Subversion only shows the log up to the
517 ;; working revision, whereas we also want the log of the 520 ;; working revision, whereas we also want the log of the
518 ;; subsequent commits. At least that's what the 521 ;; subsequent commits. At least that's what the
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 7f03affb6b7..5e1d27c0ea3 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -356,9 +356,11 @@
356;; If LIMIT is true insert only insert LIMIT log entries. If the 356;; If LIMIT is true insert only insert LIMIT log entries. If the
357;; backend does not support limiting the number of entries to show 357;; backend does not support limiting the number of entries to show
358;; it should return `limit-unsupported'. 358;; it should return `limit-unsupported'.
359;; If START-REVISION is given, then show the log starting from the 359;; If START-REVISION is given, then show the log starting from that
360;; revision. At this point START-REVISION is only required to work 360;; revision ("starting" in the sense of it being the _newest_
361;; in conjunction with LIMIT = 1. 361;; revision shown, rather than the working revision, which is normally
362;; the case). Not all backends support this. At present, this is
363;; only ever used with LIMIT = 1 (by vc-annotate-show-log-revision-at-line).
362;; 364;;
363;; * log-outgoing (backend remote-location) 365;; * log-outgoing (backend remote-location)
364;; 366;;
@@ -2111,14 +2113,11 @@ or if PL-RETURN is 'limit-unsupported."
2111 &optional is-start-revision limit) 2113 &optional is-start-revision limit)
2112 "For specified BACKEND and FILES, show the VC log. 2114 "For specified BACKEND and FILES, show the VC log.
2113Leave point at WORKING-REVISION, if it is non-nil. 2115Leave point at WORKING-REVISION, if it is non-nil.
2114If IS-START-REVISION is non-nil, start the log from WORKING-REVISION. 2116If IS-START-REVISION is non-nil, start the log from WORKING-REVISION
2115Show up to LIMIT entries (non-nil means unlimited). 2117\(not all backends support this); i.e., show only WORKING-REVISION and
2116\(IS-START-REVISION non-nil might not work correctly if LIMIT is not 1.)" 2118earlier revisions. Show up to LIMIT entries (non-nil means unlimited)."
2117 ;; The parenthetical remark is based on the commentary of vc.el for 2119 ;; As of 2013/04 the only thing that passes IS-START-REVISION non-nil
2118 ;; "print log": "At this point START-REVISION is only required to work 2120 ;; is vc-annotate-show-log-revision-at-line, which sets LIMIT = 1.
2119 ;; in conjunction with LIMIT = 1." The only thing that passes
2120 ;; IS-START-REVISION non-nil is vc-annotate-show-log-revision-at-line,
2121 ;; which sets LIMIT = 1.
2122 2121
2123 ;; Don't switch to the output buffer before running the command, 2122 ;; Don't switch to the output buffer before running the command,
2124 ;; so that any buffer-local settings in the vc-controlled 2123 ;; so that any buffer-local settings in the vc-controlled
diff --git a/src/ChangeLog b/src/ChangeLog
index 31764cad485..99e2c3d9a84 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12013-04-24 Kenichi Handa <handa@gnu.org>
2
3 * coding.c (decode_coding_iso_2022): When an invalid escape
4 sequence is encountered, reset the invocation and designation
5 status to the safest one.
6
12013-04-22 Paul Eggert <eggert@cs.ucla.edu> 72013-04-22 Paul Eggert <eggert@cs.ucla.edu>
2 8
3 * Makefile.in (bootstrap-clean): Remove stamp-h1 too. 9 * Makefile.in (bootstrap-clean): Remove stamp-h1 too.
diff --git a/src/coding.c b/src/coding.c
index f9799035b3c..b9fb92c481b 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -3887,6 +3887,14 @@ decode_coding_iso_2022 (struct coding_system *coding)
3887 *charbuf++ = c < 0 ? -c : ASCII_BYTE_P (c) ? c : BYTE8_TO_CHAR (c); 3887 *charbuf++ = c < 0 ? -c : ASCII_BYTE_P (c) ? c : BYTE8_TO_CHAR (c);
3888 char_offset++; 3888 char_offset++;
3889 coding->errors++; 3889 coding->errors++;
3890 /* Reset the invocation and designation status to the safest
3891 one; i.e. designate ASCII to the graphic register 0, and
3892 invoke that register to the graphic plane 0. This typically
3893 helps the case that an designation sequence for ASCII "ESC (
3894 B" is somehow broken (e.g. broken by a newline). */
3895 CODING_ISO_INVOCATION (coding, 0) = 0;
3896 CODING_ISO_DESIGNATION (coding, 0) = charset_ascii;
3897 charset_id_0 = charset_ascii;
3890 continue; 3898 continue;
3891 3899
3892 break_loop: 3900 break_loop: