Remove the need for lispref vol1.texi and vol2.texi

* 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.
This commit is contained in:
Glenn Morris 2012-05-08 20:11:41 -07:00
parent 666b903b91
commit 5b6eebcf2b
5 changed files with 90 additions and 447 deletions

View 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.

View 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
@ -16,6 +63,10 @@
@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

View 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)
# 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

View file

@ -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
These words prevent "local variables" above from confusing Emacs.

View file

@ -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
These words prevent "local variables" above from confusing Emacs.