aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Verona2013-04-24 08:30:55 +0200
committerJoakim Verona2013-04-24 08:30:55 +0200
commit5877a57a3c3da1395cff267c06bb9690fd7f44e4 (patch)
tree6d2f227e83366f0707404a5c1dd30450d0fbf1b3
parent8ee071b733e7b83ab6e793389dce7c6e2393f891 (diff)
parent6933cefc4834cc5ef8d8c46fd2379578240c4f1e (diff)
downloademacs-5877a57a3c3da1395cff267c06bb9690fd7f44e4.tar.gz
emacs-5877a57a3c3da1395cff267c06bb9690fd7f44e4.zip
auto upstream
-rw-r--r--doc/lispintro/ChangeLog19
-rw-r--r--doc/lispintro/Makefile.in12
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi164
-rw-r--r--doc/lispintro/makefile.w32-in10
-rw-r--r--doc/lispref/ChangeLog5
-rw-r--r--doc/lispref/internals.texi20
-rw-r--r--lisp/ChangeLog23
-rw-r--r--lisp/jit-lock.el25
-rw-r--r--lisp/minibuffer.el4
-rw-r--r--lisp/startup.el69
-rw-r--r--lisp/textmodes/reftex-vars.el10
11 files changed, 141 insertions, 220 deletions
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog
index be9f9f963c0..f39fec61f6e 100644
--- a/doc/lispintro/ChangeLog
+++ b/doc/lispintro/ChangeLog
@@ -1,7 +1,22 @@
12013-04-24 Glenn Morris <rgm@gnu.org>
2
3 * emacs-lisp-intro.texi (emacsver.texi): Include it.
4 (copying): For non-printed versions, uses Emacs version rather
5 than that of the printed book.
6 (Complications, Lisp macro, defvar and asterisk, defcustom): Copyedits.
7 * Makefile.in (emacsdir): New variable..
8 (MAKEINFO_OPTS, ENVADD): Add $emacsdir.
9 (srcs): Add emacsver.texi.
10 (dist): Include emacsver.texi. Edit emacsdir.
11 * makefile.w32-in (emacsdir): New variable.
12 (INFO_SOURCES): Add emacsver.texi.
13 (ENVADD): Add $emacsdir (and $texinfodir).
14
12013-04-23 Xue Fuqiao <xfq.free@gmail.com> 152013-04-23 Xue Fuqiao <xfq.free@gmail.com>
2 16
3 * emacs-lisp-intro.texi (Complications, defvar): Refine the doc 17 * emacs-lisp-intro.texi (Complications, defvar, Writing Defuns)
4 about Lisp macros. (http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00618.html) 18 (Prevent confusion, Determining the Element, lambda): Refine the
19 doc about Lisp macros, reported by Glenn Morris.
5 20
62013-04-21 Xue Fuqiao <xfq.free@gmail.com> 212013-04-21 Xue Fuqiao <xfq.free@gmail.com>
7 22
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..c06e00ba757 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
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/lisp/ChangeLog b/lisp/ChangeLog
index b0cad6454c3..c0b20fdbd63 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,26 @@
12013-04-23 Glenn Morris <rgm@gnu.org>
2
3 * startup.el (normal-no-mouse-startup-screen, normal-about-screen):
4 Remove venerable code attempting to avoid substitute-command-keys.
5
62013-04-23 Tassilo Horn <tsdh@gnu.org>
7
8 * textmodes/reftex-vars.el (reftex-label-regexps): Call
9 `reftex-compile-variables' after changes to this variable.
10
112013-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
12
13 * jit-lock.el: Fix signals in jit-lock-force-redisplay.
14 Use lexical-binding.
15 (jit-lock-force-redisplay): Use markers, check buffer's continued
16 existence and beware narrowed buffers.
17 (jit-lock-fontify-now): Adjust call accordingly.
18
192013-04-22 Stefan Monnier <monnier@iro.umontreal.ca>
20
21 * minibuffer.el (minibuffer-completion-contents): Fix obsolescence info
22 to avoid misleading the user.
23
12013-04-22 Leo Liu <sdl.web@gmail.com> 242013-04-22 Leo Liu <sdl.web@gmail.com>
2 25
3 * info-look.el: Prefer latex2e.info. (Bug#14240) 26 * info-look.el: Prefer latex2e.info. (Bug#14240)
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el
index d879735c344..9359a65a1b8 100644
--- a/lisp/jit-lock.el
+++ b/lisp/jit-lock.el
@@ -1,4 +1,4 @@
1;;; jit-lock.el --- just-in-time fontification 1;;; jit-lock.el --- just-in-time fontification -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1998, 2000-2013 Free Software Foundation, Inc. 3;; Copyright (C) 1998, 2000-2013 Free Software Foundation, Inc.
4 4
@@ -412,21 +412,24 @@ Defaults to the whole buffer. END can be out of bounds."
412 ;; eagerly extend the refontified region with 412 ;; eagerly extend the refontified region with
413 ;; jit-lock-after-change-extend-region-functions. 413 ;; jit-lock-after-change-extend-region-functions.
414 (when (< start orig-start) 414 (when (< start orig-start)
415 (run-with-timer 0 nil 'jit-lock-force-redisplay 415 (run-with-timer 0 nil #'jit-lock-force-redisplay
416 (current-buffer) start orig-start)) 416 (copy-marker start) (copy-marker orig-start)))
417 417
418 ;; Find the start of the next chunk, if any. 418 ;; Find the start of the next chunk, if any.
419 (setq start (text-property-any next end 'fontified nil)))))))) 419 (setq start (text-property-any next end 'fontified nil))))))))
420 420
421(defun jit-lock-force-redisplay (buf start end) 421(defun jit-lock-force-redisplay (start end)
422 "Force the display engine to re-render buffer BUF from START to END." 422 "Force the display engine to re-render buffer BUF from START to END."
423 (with-current-buffer buf 423 (when (marker-buffer start)
424 (with-buffer-prepared-for-jit-lock 424 (with-current-buffer (marker-buffer start)
425 ;; Don't cause refontification (it's already been done), but just do 425 (with-buffer-prepared-for-jit-lock
426 ;; some random buffer change, so as to force redisplay. 426 (when (> end (point-max))
427 (put-text-property start end 'fontified t)))) 427 (setq end (point-max) start (min start end)))
428 428 (when (< start (point-min))
429 429 (setq start (point-min) end (max start end)))
430 ;; Don't cause refontification (it's already been done), but just do
431 ;; some random buffer change, so as to force redisplay.
432 (put-text-property start end 'fontified t)))))
430 433
431;;; Stealth fontification. 434;;; Stealth fontification.
432 435
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 978b3a5b130..ef949f7482e 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -638,8 +638,8 @@ If ARGS are provided, then pass MESSAGE through `format'."
638 638
639(defun minibuffer-completion-contents () 639(defun minibuffer-completion-contents ()
640 "Return the user input in a minibuffer before point as a string. 640 "Return the user input in a minibuffer before point as a string.
641That used to be what completion commands operate on." 641In Emacs-22, that was what completion commands operated on."
642 (declare (obsolete minibuffer-contents "24.4")) 642 (declare (obsolete nil "24.4"))
643 (buffer-substring (field-beginning) (point))) 643 (buffer-substring (field-beginning) (point)))
644 644
645(defun delete-minibuffer-contents () 645(defun delete-minibuffer-contents ()
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 c00cf36c79e..7343d86b06f 100644
--- a/lisp/textmodes/reftex-vars.el
+++ b/lisp/textmodes/reftex-vars.el
@@ -873,7 +873,15 @@ DOWNCASE t: Downcase words before using them."
873The default value matches usual \\label{...} definitions and 873The default value matches usual \\label{...} definitions and
874keyval style [..., label = {...}, ...] label definitions. It is 874keyval style [..., label = {...}, ...] label definitions. It is
875assumed that the regexp group 1 matches the label text, so you 875assumed that the regexp group 1 matches the label text, so you
876have to define it using \\(?1:...\\) when adding new regexps." 876have to define it using \\(?1:...\\) when adding new regexps.
877
878When changed from Lisp, make sure to call
879`reftex-compile-variables' afterwards to make the change
880effective."
881 :set (lambda (symbol value)
882 (set symbol value)
883 (when (fboundp 'reftex-compile-variables)
884 (reftex-compile-variables)))
877 :group 'reftex-defining-label-environments 885 :group 'reftex-defining-label-environments
878 :type '(repeat (regexp :tag "Regular Expression"))) 886 :type '(repeat (regexp :tag "Regular Expression")))
879 887