]> git.eshelyaron.com Git - emacs.git/commitdiff
Minor lispintro tweaks
authorGlenn Morris <rgm@gnu.org>
Wed, 24 Apr 2013 00:58:23 +0000 (20:58 -0400)
committerGlenn Morris <rgm@gnu.org>
Wed, 24 Apr 2013 00:58:23 +0000 (20:58 -0400)
* doc/lispintro/Makefile.in (emacsdir): New variable..
(MAKEINFO_OPTS, ENVADD): Add $emacsdir.
(srcs): Add emacsver.texi.
(dist): Include emacsver.texi.  Edit emacsdir.

* doc/lispintro/emacs-lisp-intro.texi (emacsver.texi): Include it.
(copying): For non-printed versions, uses Emacs version rather
than that of the printed book.
(Complications, Lisp macro, defvar and asterisk, defcustom): Copyedits.

* doc/lispintro/makefile.w32-in (emacsdir): New variable.
(INFO_SOURCES): Add emacsver.texi.
(ENVADD): Add $emacsdir (and $texinfodir).

doc/lispintro/ChangeLog
doc/lispintro/Makefile.in
doc/lispintro/emacs-lisp-intro.texi
doc/lispintro/makefile.w32-in

index a1ec47a772474cd6a7c820583ffa0fea3952f2bc..f39fec61f6e50320a9504e5df793d89f4c6af4a3 100644 (file)
@@ -1,3 +1,17 @@
+2013-04-24  Glenn Morris  <rgm@gnu.org>
+
+       * emacs-lisp-intro.texi (emacsver.texi): Include it.
+       (copying): For non-printed versions, uses Emacs version rather
+       than that of the printed book.
+       (Complications, Lisp macro, defvar and asterisk, defcustom): Copyedits.
+       * Makefile.in (emacsdir): New variable..
+       (MAKEINFO_OPTS, ENVADD): Add $emacsdir.
+       (srcs): Add emacsver.texi.
+       (dist): Include emacsver.texi.  Edit emacsdir.
+       * makefile.w32-in (emacsdir): New variable.
+       (INFO_SOURCES): Add emacsver.texi.
+       (ENVADD): Add $emacsdir (and $texinfodir).
+
 2013-04-23  Xue Fuqiao  <xfq.free@gmail.com>
 
        * emacs-lisp-intro.texi (Complications, defvar, Writing Defuns)
index a6b50b88ad904ebf99d60f0ed0c22b4a121f3b5b..338b4ad86c4a36ebc7eb4661ffc3404333417f40 100644 (file)
@@ -25,6 +25,8 @@ version=@version@
 buildinfodir = $(srcdir)/../../info
 # Directory with the (customized) texinfo.tex file.
 texinfodir = $(srcdir)/../misc
+# Directory with emacsver.texi.
+emacsdir =  $(srcdir)/../emacs
 
 MKDIR_P = @MKDIR_P@
 
@@ -33,17 +35,18 @@ INFO_EXT=@INFO_EXT@
 INFO_OPTS=@INFO_OPTS@
 
 MAKEINFO = @MAKEINFO@
-MAKEINFO_OPTS = --force -I $(srcdir)
+MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir)
 TEXI2DVI = texi2dvi
 TEXI2PDF = texi2pdf
 DVIPS = dvips
 
-ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \
+ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
          MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
 
 mkinfodir = @${MKDIR_P} ${buildinfodir}
 
-srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi
+srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
+  ${emacsdir}/emacsver.texi
 
 .PHONY: info dvi html pdf ps
 
@@ -97,9 +100,10 @@ dist:
        rm -rf emacs-lispintro-${version}
        mkdir emacs-lispintro-${version}
        cp ${srcdir}/*.texi ${srcdir}/*.eps ${srcdir}/*.pdf \
-         ${texinfodir}/texinfo.tex \
+         ${texinfodir}/texinfo.tex ${emacsdir}/emacsver.texi \
          ${srcdir}/ChangeLog* ${srcdir}/README emacs-lispintro-${version}/
        sed -e 's/@sr[c]dir@/./' -e 's/^\(texinfodir *=\).*/\1 ./' \
+         -e 's/^\(emacsdir *=\).*/\1 ./' \
          -e 's/^\(buildinfodir *=\).*/\1 ./' \
          -e 's/^\(clean:.*\)/\1 infoclean/' \
          -e "s/@ver[s]ion@/${version}/" \
index e0c51a9a8fbb75fc80e1aece3dde0c35d848cde7..be842b2b5d0889a2e71134b8d06c629180b28457 100644 (file)
@@ -8,6 +8,8 @@
 @syncodeindex fn cp
 @finalout
 
+@include emacsver.texi
+
 @c ---------
 @c <<<< For hard copy printing, this file is now
 @c      set for smallbook, which works for all sizes
@@ -35,9 +37,9 @@
 \global\hbadness=6666 % don't worry about not-too-underfull boxes
 @end tex
 
+@c These refer to the printed book sold by the FSF.
 @set edition-number 3.10
 @set update-date 28 October 2009
-@c FIXME can this be updated?  -- xfq
 
 @ignore
  ## Summary of shell commands to create various output formats:
 This is an @cite{Introduction to Programming in Emacs Lisp}, for
 people who are not programmers.
 @sp 1
+@iftex
 Edition @value{edition-number}, @value{update-date}
+@end iftex
+@ifnottex
+Distributed with Emacs version @value{EMACSVER}.
+@end ifnottex
 @ifset WWW_GNU_ORG
 @html
 <p>The homepage for GNU Emacs is at
@@ -244,7 +251,7 @@ Foundation, Inc.
 @iftex
 Published by the:@*
 
-GNU Press,               @hfill @uref{http://www.fsf.org/campaigns/gnu-press/}@*
+GNU Press,               @hfill @uref{http://www.fsf.org/licensing/gnu-press/}@*
 a division of the               @hfill email: @email{sales@@fsf.org}@*
 Free Software Foundation, Inc.  @hfill Tel: +1 (617) 542-5942@*
 51 Franklin Street, Fifth Floor @hfill Fax: +1 (617) 542-2652@*
@@ -252,10 +259,10 @@ Boston, MA 02110-1301 USA
 @end iftex
 
 @ifnottex
-Published by the:
+Printed copies available from @uref{http://shop.fsf.org/}. Published by:
 
 @example
-GNU Press,                        http://www.fsf.org/campaigns/gnu-press/
+GNU Press,                        http://www.fsf.org/licensing/gnu-press/
 a division of the                 email: sales@@fsf.org
 Free Software Foundation, Inc.    Tel: +1 (617) 542-5942
 51 Franklin Street, Fifth Floor   Fax: +1 (617) 542-2652
@@ -264,7 +271,6 @@ Boston, MA 02110-1301 USA
 @end ifnottex
 
 @sp 1
-@c Printed copies are available from @uref{http://shop.fsf.org/} for $35 each.@*
 ISBN 1-882114-43-4
 
 Permission is granted to copy, distribute and/or modify this document
@@ -1623,13 +1629,20 @@ do not work in the usual manner.  Those that don't are called
 @dfn{special forms}.  They are used for special jobs, like defining a
 function, and there are not many of them.  In the next few chapters,
 you will be introduced to several of the more important special forms.
-And there are also @dfn{macros}.  Macro is a construct defined in
-Lisp, which differs from a function in that it translates a Lisp
-expression into another expression which is to be evaluated instead of
-the original expression.  (@xref{Lisp macro}.)
 
+As well as special forms, there are also @dfn{macros}.  A macro
+is a construct defined in Lisp, which differs from a function in that it
+translates a Lisp expression into another expression that is to be
+evaluated in place of the original expression.  (@xref{Lisp macro}.)
+
+For the purposes of this introduction, you do not need to worry too much
+about whether something is a special form, macro, or ordinary function.
+For example, @code{if} is a special form (@pxref{if}), but @code{when}
+is a macro (@pxref{Lisp macro}).  In earlier versions of Emacs,
+@code{defun} was a special form, but now it is a macro (@pxref{defun}).
+It still behaves in the same way.
 
-The third and final complication is this: if the function that the
+The final complication is this: if the function that the
 Lisp interpreter is looking at is not a special form, and if it is part
 of a list, the Lisp interpreter looks to see whether the list has a list
 inside of it.  If there is an inner list, the Lisp interpreter first
@@ -8313,7 +8326,7 @@ an @code{if} without the possibility of an else clause.  In your mind,
 you can replace @code{when} with @code{if} and understand what goes
 on.  That is what the Lisp interpreter does.
 
-Technically speaking, @code{when} is a Lisp macro.  A Lisp @dfn{macro}
+Technically speaking, @code{when} is a Lisp macro.  A Lisp macro
 enables you to define new control constructs and other language
 features.  It tells the interpreter how to compute another Lisp
 expression which will in turn compute the value.  In this case, the
@@ -9366,7 +9379,7 @@ In the past, Emacs used the @code{defvar} special form both for
 internal variables that you would not expect a user to change and for
 variables that you do expect a user to change.  Although you can still
 use @code{defvar} for user customizable variables, please use
-@code{defcustom} instead, since that special form provides a path into
+@code{defcustom} instead, since it provides a path into
 the Customization commands.  (@xref{defcustom, , Specifying Variables
 using @code{defcustom}}.)
 
@@ -17025,7 +17038,7 @@ Finally, the @code{:group} keyword tells the Emacs Customization
 command in which group the variable is located.  This tells where to
 find it.
 
-The @code{defcustom} function recognizes more than a dozen keywords.
+The @code{defcustom} macro recognizes more than a dozen keywords.
 For more information, see @ref{Customization, , Writing Customization
 Definitions, elisp, The GNU Emacs Lisp Reference Manual}.
 
index 377112a80d2ae76cfdbfa71fcad01bd0b02e6e2a..c06e00ba75756be13646463c19bbc82074b7bfc9 100644 (file)
@@ -23,10 +23,13 @@ srcdir = .
 infodir = $(srcdir)/../../info
 # Directory with the (customized) texinfo.tex file.
 texinfodir = $(srcdir)/../misc
+# Directory with emacsver.texi.
+emacsdir = $(srcdir)/../emacs
 
 INFO_EXT=.info
 INFO_OPTS=--no-split
-INFO_SOURCES = $(srcdir)/emacs-lisp-intro.texi $(srcdir)/doclicense.texi
+INFO_SOURCES = $(srcdir)/emacs-lisp-intro.texi $(emacsdir)/emacsver.texi \
+  $(srcdir)/doclicense.texi
 # The file name eintr must fit within 5 characters, to allow for
 # -NN extensions to fit into DOS 8+3 limits without clashing
 INFO_TARGETS = $(infodir)/eintr$(INFO_EXT)
@@ -37,8 +40,9 @@ INSTALL_INFO = install-info
 TEXI2DVI = texi2dvi
 TEXI2PDF = texi2pdf
 DVIPS = dvips
-ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \
-        "MAKEINFO=$(MAKEINFO) -I$(srcdir) -I$(texinfodir)" /C
+ENVADD = $(srcdir)\..\..\nt\envadd.bat \
+        "TEXINPUTS=$(srcdir);$(texinfodir);$(emacsdir);$(TEXINPUTS)" \
+        "MAKEINFO=$(MAKEINFO) -I$(srcdir) -I$(emacsdir) -I$(texinfodir)" /C
 
 .SUFFIXES: .dvi .ps .texi