]> git.eshelyaron.com Git - emacs.git/commitdiff
Remove the need for lispref vol1.texi and vol2.texi
authorGlenn Morris <rgm@gnu.org>
Wed, 9 May 2012 03:11:41 +0000 (20:11 -0700)
committerGlenn Morris <rgm@gnu.org>
Wed, 9 May 2012 03:11:41 +0000 (20:11 -0700)
* vol1.texi, vol2.texi: Remove files.
* elisp.texi: Add VOL1,2 conditionals equivalent to vol1,2.texi
* two-volume.make: Use elisp.texi as input rather than vol1,2.texi.

doc/lispref/ChangeLog
doc/lispref/elisp.texi
doc/lispref/two-volume.make
doc/lispref/vol1.texi [deleted file]
doc/lispref/vol2.texi [deleted file]

index fb6d8fcada322ea06119460d222fd5ee8faa5e1f..7c2f61d12987ac2f246415ebc606360bab8f9d2c 100644 (file)
@@ -1,5 +1,9 @@
 2012-05-09  Glenn Morris  <rgm@gnu.org>
 
+       * vol1.texi, vol2.texi: Remove files.
+       * elisp.texi: Add VOL1,2 conditionals equivalent to vol1,2.texi
+       * two-volume.make: Use elisp.texi as input rather than vol1,2.texi.
+
        * Makefile.in (clean, mostlyclean): Add some more vol1/2 items.
 
        * two-volume.make (emacsdir): New.
index a799b2fe1b4294e4dae5d2b9fb50d18e6de9198f..6e10ad635bec012a00bb66f8a2e2a55a8c6b2506 100644 (file)
@@ -1,11 +1,58 @@
 \input texinfo  @c -*-texinfo-*-
 @c %**start of header
 @setfilename elisp
+
+@ifset VOL1
+@set volflag
+@set voltitle Volume 1
+@end ifset
+
+@ifset VOL2
+@set volflag
+@set voltitle Volume 2
+@end ifset
+
+@ifset volflag
+@settitle GNU Emacs Lisp Reference Manual: @value{voltitle}
+@end ifset
+@ifclear volflag
 @settitle GNU Emacs Lisp Reference Manual
+@end ifclear
+
 @c %**end of header
 
+@c See two-volume-cross-refs.txt.
+@tex
+@ifset VOL1
+\message{Formatting for two volume edition...Volume 1...}
+%
+% Read special toc file, set up in two-volume.make.
+\gdef\tocreadfilename{elisp1-toc-ready.toc}
+%
+% Don't make outlines, they're not needed and \readdatafile can't pay
+% attention to the special definition above.
+\global\let\pdfmakeoutlines=\relax
+%
+% Start volume 1 chapter numbering at 1; this must be listed as chapno0.
+\global\chapno=0
+@end ifset
+@ifset VOL2
+\message{Formatting for two volume edition...Volume 2...}
+%
+% Read special toc file, set up in two-volume.make.
+\gdef\tocreadfilename{elisp2-toc-ready.toc}
+%
+% Don't make outlines, they're not needed and \readdatafile can't pay
+% attention to the special definition above.
+\global\let\pdfmakeoutlines=\relax
+%
+% Start volume 2 chapter numbering at 27; this must be listed as chapno26
+\global\chapno=26
+@end ifset
+@end tex
+
+
 @c Version of the manual and of Emacs.
-@c Please remember to update these in vol1.texi and vol2.texi as well.
 @c (See comments for EDITION in emacs.texi)
 @set VERSION  3.1
 @include emacsver.texi
 @c onto the distribution in the full, 8.5 x 11" size.
 @c @smallbook
 
+@ifset volflag
+@smallbook
+@end ifset
+
 @ifset smallbook
 @smallbook
 @end ifset
@@ -75,6 +126,9 @@ developing GNU and promoting software freedom.''
 
 @titlepage
 @title GNU Emacs Lisp Reference Manual
+@ifset volflag
+@subtitle @value{voltitle}
+@end ifset
 @subtitle For Emacs Version @value{EMACSVER}
 @subtitle Revision @value{VERSION}, @value{DATE}
 
@@ -1468,6 +1522,7 @@ Object Internals
 @end detailmenu
 @end menu
 
+@ifclear VOL2
 @include intro.texi
 @include objects.texi
 @include numbers.texi
@@ -1501,6 +1556,12 @@ Object Internals
 @include files.texi
 
 @include backups.texi
+
+@end ifclear
+
+@c ================ Beginning of Volume 2 ================
+@ifclear VOL1
+
 @include buffers.texi
 @include windows.texi
 @include frames.texi
@@ -1533,6 +1594,8 @@ Object Internals
 
 @include index.texi
 
+@end ifclear
+
 @ignore
 @node New Symbols, , Index, Top
 @unnumbered New Symbols Since the Previous Edition
index 07fcaf09b988f3492e44c64aec8ef93945568f88..eb5c0e0193d32771656fa297f1b81ddbbfd65ad8 100644 (file)
@@ -5,6 +5,8 @@
 # colors, spurious warnings about names being referenced but not
 # existing, etc., dvips | ps2pdf doesn't preserve the page size.
 # Instead of creating a special dvips config file, put up with the warnings.
+# (Note added 2012/05: for me, using texlive-2007-57, pdftex
+# doesn't work for reason, but tex does.)
 texinfodir=../misc
 emacsdir=../emacs
 
@@ -12,22 +14,32 @@ tex = TEXINPUTS=".:$(texinfodir):${emacsdir}:${TEXINPUTS}" pdftex -interaction=n
 
 all: vol1.pdf vol2.pdf
 
-# vol1.texi and vol2.texi specially define \tocreadfilename so we can
-# use our premade .toc's.
+# There's probably a better way to do this, without using a temp file.
+# Something like:
+# tex -jobname=vol1 '\def\SETVOL1 \input{elisp.texi}'
+# but I don't know what to use for "\def\SETVOL1".
+tex1 = sed '/^@setfilename/a\
+@set VOL1' elisp.texi > elisp1tmp.tex && $(tex) -jobname=vol1 elisp1tmp.tex
+
+tex2 = sed '/^@setfilename/a\
+@set VOL2' elisp.texi > elisp2tmp.tex && $(tex) -jobname=vol2 elisp2tmp.tex
+
+# elisp.texi specially defines \tocreadfilename when VOL1 or VOL2 is
+# set, so we can use our premade .toc's.
 # 
 vol1.pdf: elisp1med-fns-ready elisp1med-aux-ready elisp1med-toc-ready
        @echo -e "\f Final TeX run for volume 1..."
        cp elisp1med-toc-ready elisp1-toc-ready.toc
        cp elisp1med-fns-ready vol1.fns
        cp elisp1med-aux-ready vol1.aux
-       $(tex) vol1.texi
+       $(tex1)
 #
 vol2.pdf: elisp2med-fns-ready elisp2med-aux-ready elisp2med-toc-ready
        @echo "Final TeX run for volume 2..."
        cp elisp2med-toc-ready elisp2-toc-ready.toc
        cp elisp2med-fns-ready vol2.fns
        cp elisp2med-aux-ready vol2.aux
-       $(tex) vol2.texi
+       $(tex2)
 
 # \f intermediate toc files.
 # 
@@ -105,7 +117,7 @@ elisp1med-init: elisp1-fns-ready elisp1-aux-ready elisp1init-toc-ready $(texinfo
        cp elisp1init-toc-ready elisp1-toc-ready.toc
        cp elisp1-fns-ready vol1.fns
        cp elisp1-aux-ready vol1.aux
-       $(tex) vol1.texi
+       $(tex1)
        texindex vol1.??
        mv vol1.aux elisp1med-aux
        mv vol1.toc elisp1med-toc
@@ -115,7 +127,7 @@ elisp2med-init: elisp2-fns-ready elisp2-aux-ready elisp2init-toc-ready $(texinfo
        cp elisp2init-toc-ready elisp2-toc-ready.toc
        cp elisp2-fns-ready vol2.fns
        cp elisp2-aux-ready vol2.aux
-       $(tex) vol2.texi
+       $(tex2)
        texindex vol2.??
        mv vol2.aux elisp2med-aux
        mv vol2.toc elisp2med-toc
@@ -189,19 +201,19 @@ elisp2-fn-vol-added: elisp2-init
 # but we run texindex and TeX a second time just to get them closer.
 # Otherwise it might take even longer for them to converge.
 # 
-elisp1-init: vol1.texi
+elisp1-init: elisp.texi
        @echo -e "\f Initial TeX run for volume 1..."
        rm -f vol1.aux vol1.toc
-       $(tex) $<
+       $(tex1)
        texindex vol1.??
        mv vol1.aux elisp1-aux
        mv vol1.toc elisp1-toc
        touch $@
 #
-elisp2-init: vol2.texi
+elisp2-init: elisp.texi
        @echo "Initial TeX run for volume 2..."
        rm -f vol2.aux vol2.toc
-       $(tex) $<
+       $(tex2)
        texindex vol2.??
        mv vol2.aux elisp2-aux
        mv vol2.toc elisp2-toc
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi
deleted file mode 100644 (file)
index 7712ea1..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-\input texinfo  @c -*-texinfo-*-
-@c This file is used for printing the GNU Emacs Lisp Reference Manual
-@c in two volumes.  It is a modified version of elisp.texi.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
-@c   Free Software Foundation, Inc.
-@c %**start of header
-@setfilename elisp
-@settitle GNU Emacs Lisp Reference Manual: Volume 1
-@c %**end of header
-
-@c See two-volume-cross-refs.txt.
-@tex
-\message{Formatting for two volume edition...Volume 1...}
-%
-% Read special toc file, set up in two-volume.make.
-\gdef\tocreadfilename{elisp1-toc-ready.toc}
-%
-% Don't make outlines, they're not needed and \readdatafile can't pay
-% attention to the special definition above.
-\global\let\pdfmakeoutlines=\relax
-%
-% Start volume 1 chapter numbering at 1; this must be listed as chapno0.
-\global\chapno=0
-@end tex
-
-@c Version of the manual and of Emacs.
-@set VERSION  3.1
-@include emacsver.texi
-@set DATE May 2012
-
-@dircategory Emacs
-@direntry
-* Elisp: (elisp).       The Emacs Lisp Reference Manual.
-@end direntry
-
-@c in general, keep the following line commented out, unless doing a
-@c copy of this manual that will be published.  the manual should go
-@c onto the distribution in the full, 8.5 x 11" size.
-@set smallbook
-
-@ifset smallbook
-@smallbook
-@end ifset
-
-@c per rms and peterb, use 10pt fonts for the main text, mostly to
-@c save on paper cost.
-@c Do this inside @tex for now, so current makeinfo does not complain.
-@tex
-@ifset smallbook
-@fonttextsize 10
-\global\let\urlcolor=\Black % don't print links in grayscale
-\global\let\linkcolor=\Black
-@end ifset
-\global\hbadness=6666 % don't worry about not-too-underfull boxes
-@end tex
-
-@c Combine indices.
-@synindex cp fn
-@syncodeindex vr fn
-@syncodeindex ky fn
-@syncodeindex pg fn
-@c We use the "type index" to index new functions and variables.
-@c @syncodeindex tp fn
-
-@copying
-This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@*
-corresponding to Emacs version @value{EMACSVER}.
-
-Copyright @copyright{} 1990-1996, 1998-2012 Free Software Foundation, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``GNU General Public License,'' with the
-Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover
-Texts as in (a) below.  A copy of the license is included in the
-section entitled ``GNU Free Documentation License.''
-
-(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
-modify this GNU manual.  Buying copies from the FSF supports it in
-developing GNU and promoting software freedom.''
-@end quotation
-@end copying
-
-@titlepage
-@title GNU Emacs Lisp Reference Manual
-@subtitle Volume 1
-@subtitle For Emacs Version @value{EMACSVER}
-@subtitle Revision @value{VERSION}, @value{DATE}
-
-@author by Bil Lewis, Dan LaLiberte, Richard Stallman,
-@author the GNU Manual Group, et al.
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-
-@sp 2
-
-Published by the Free Software Foundation @*
-51 Franklin St, Fifth Floor @*
-Boston, MA 02110-1301 @*
-USA @*
-ISBN 1-882114-74-4
-
-@sp 2
-Cover art by Etienne Suvasa.
-@end titlepage
-
-
-@c Print the tables of contents
-@summarycontents
-@contents
-
-
-@ifnottex
-@node Top
-@top Emacs Lisp
-
-This Info file contains edition @value{VERSION} of the GNU Emacs Lisp
-Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
-@end ifnottex
-
-@menu
-* Not used::                This file is only used with tex, which
-                              generates its own menu.
-
-@detailmenu
- --- The Detailed Node Listing ---
- ---------------------------------
-
-Here are other nodes that are subnodes of those already listed,
-mentioned here so you can get to them in one step:
-
-Not used
-
-* Not used::                This file is only used with TeX, which
-                              generates its own menu.
-@end detailmenu
-@end menu
-
-@include intro.texi
-@include objects.texi
-@include numbers.texi
-@include strings.texi
-
-@include lists.texi
-@include sequences.texi
-@include hash.texi
-@include symbols.texi
-@include eval.texi
-
-@include control.texi
-@include variables.texi
-@include functions.texi
-@include macros.texi
-
-@include customize.texi
-@include loading.texi
-@include compile.texi
-@include advice.texi
-
-@c This includes edebug.texi.
-@include debugging.texi
-@include streams.texi
-@include minibuf.texi
-@include commands.texi
-
-@include keymaps.texi
-@include modes.texi
-@include help.texi
-@include files.texi
-
-@include backups.texi
-
-@c ================ Beginning of Volume 2 ================
-@c include buffers.texi
-@c include windows.texi
-@c include frames.texi
-
-@c include positions.texi
-@c include markers.texi
-@c include text.texi
-@c include nonascii.texi
-
-@c include searching.texi
-@c include syntax.texi
-@c include abbrevs.texi
-@c include processes.texi
-
-@c include display.texi
-@c include os.texi
-
-@c appendices
-
-@c include anti.texi
-@c include doclicense.texi
-@c include gpl.texi
-@c include tips.texi
-@c include internals.texi
-@c include errors.texi
-@c include maps.texi
-@c include hooks.texi
-
-@include index.texi
-
-@ignore
-@node New Symbols, , Index, Top
-@unnumbered New Symbols Since the Previous Edition
-
-@printindex tp
-@end ignore
-
-@bye
-
-\f
-These words prevent "local variables" above from confusing Emacs.
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi
deleted file mode 100644 (file)
index 66e0250..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-\input texinfo  @c -*-texinfo-*-
-@c This file is used for printing the GNU Emacs Lisp Reference Manual
-@c in two volumes.  It is a modified version of elisp.texi.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
-@c   Free Software Foundation, Inc.
-@c %**start of header
-@setfilename elisp
-@settitle GNU Emacs Lisp Reference Manual: Volume 2
-@c %**end of header
-
-@c See two-volume-cross-refs.txt.
-@tex
-\message{Formatting for two volume edition...Volume 2...}
-%
-% Read special toc file, set up in two-volume.make.
-\gdef\tocreadfilename{elisp2-toc-ready.toc}
-%
-% Don't make outlines, they're not needed and \readdatafile can't pay
-% attention to the special definition above.
-\global\let\pdfmakeoutlines=\relax
-%
-% Start volume 2 chapter numbering at 27; this must be listed as chapno26
-\global\chapno=26
-@end tex
-
-@c Version of the manual and of Emacs.
-@set VERSION  3.1
-@include emacsver.texi
-@set DATE May 2012
-
-@dircategory Emacs
-@direntry
-* Elisp: (elisp).       The Emacs Lisp Reference Manual.
-@end direntry
-
-@c in general, keep the following line commented out, unless doing a
-@c copy of this manual that will be published.  the manual should go
-@c onto the distribution in the full, 8.5 x 11" size.
-@set smallbook
-
-@ifset smallbook
-@smallbook
-@end ifset
-
-@c per rms and peterb, use 10pt fonts for the main text, mostly to
-@c save on paper cost.
-@c Do this inside @tex for now, so current makeinfo does not complain.
-@tex
-@ifset smallbook
-@fonttextsize 10
-\global\let\urlcolor=\Black % don't print links in grayscale
-\global\let\linkcolor=\Black
-@end ifset
-\global\hbadness=6666 % don't worry about not-too-underfull boxes
-@end tex
-
-@c Combine indices.
-@synindex cp fn
-@syncodeindex vr fn
-@syncodeindex ky fn
-@syncodeindex pg fn
-@c We use the "type index" to index new functions and variables.
-@c @syncodeindex tp fn
-
-@copying
-This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@*
-corresponding to Emacs version @value{EMACSVER}.
-
-Copyright @copyright{} 1990-1996, 1998-2012 Free Software Foundation, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``GNU General Public License,'' with the
-Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover
-Texts as in (a) below.  A copy of the license is included in the
-section entitled ``GNU Free Documentation License.''
-
-(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
-modify this GNU manual.  Buying copies from the FSF supports it in
-developing GNU and promoting software freedom.''
-@end quotation
-@end copying
-
-@titlepage
-@title GNU Emacs Lisp Reference Manual
-@subtitle Volume 2
-@subtitle For Emacs Version @value{EMACSVER}
-@subtitle Revision @value{VERSION}, @value{DATE}
-
-@author by Bil Lewis, Dan LaLiberte, Richard Stallman,
-@author the GNU Manual Group, et al.
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-
-@sp 2
-Published by the Free Software Foundation @*
-51 Franklin St, Fifth Floor @*
-Boston, MA 02110-1301 @*
-USA @*
-ISBN 1-882114-74-4
-
-@sp 2
-Cover art by Etienne Suvasa.
-@end titlepage
-
-
-@c Print the tables of contents
-@summarycontents
-@contents
-
-
-@ifnottex
-@node Top
-@top Emacs Lisp
-
-This Info file contains edition @value{VERSION} of the GNU Emacs Lisp
-Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
-@end ifnottex
-
-@menu
-* Not used::                This file is only used with tex, which
-                              generates its own menu.
-
-@detailmenu
- --- The Detailed Node Listing ---
- ---------------------------------
-
-Here are other nodes that are subnodes of those already listed,
-mentioned here so you can get to them in one step:
-
-Here are other nodes that are subnodes of those already listed,
-mentioned here so you can get to them in one step:
-
-Not used
-
-* Not used::                This file is only used with TeX, which
-                              generates its own menu.
-@end detailmenu
-@end menu
-
-@c include intro.texi
-@c include objects.texi
-@c include numbers.texi
-@c include strings.texi
-
-@c include lists.texi
-@c include sequences.texi
-@c include hash.texi
-@c include symbols.texi
-@c include eval.texi
-
-@c include control.texi
-@c include variables.texi
-@c include functions.texi
-@c include macros.texi
-
-@c include customize.texi
-@c include loading.texi
-@c include compile.texi
-@c include advice.texi
-
-@c This includes edebug.texi.
-@c include debugging.texi
-@c include streams.texi
-@c include minibuf.texi
-@c include commands.texi
-
-@c include keymaps.texi
-@c include modes.texi
-@c include help.texi
-@c include files.texi
-
-@c include backups.texi
-
-@c ================ Beginning of Volume 2 ================
-@include buffers.texi
-@include windows.texi
-@include frames.texi
-
-@include positions.texi
-@include markers.texi
-@include text.texi
-@include nonascii.texi
-
-@include searching.texi
-@include syntax.texi
-@include abbrevs.texi
-@include processes.texi
-
-@include display.texi
-@include os.texi
-
-@c appendices
-
-@include anti.texi
-@include doclicense.texi
-@include gpl.texi
-@include tips.texi
-@include internals.texi
-@include errors.texi
-@include maps.texi
-@include hooks.texi
-
-@include index.texi
-
-@ignore
-@node New Symbols, , Index, Top
-@unnumbered New Symbols Since the Previous Edition
-
-@printindex tp
-@end ignore
-
-@bye
-
-\f
-These words prevent "local variables" above from confusing Emacs.