From 5b6eebcf2b1a1fc779f018be0d9b648746c8cad6 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 8 May 2012 20:11:41 -0700 Subject: [PATCH] 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. --- doc/lispref/ChangeLog | 4 + doc/lispref/elisp.texi | 65 ++++++++++- doc/lispref/two-volume.make | 32 ++++-- doc/lispref/vol1.texi | 217 ----------------------------------- doc/lispref/vol2.texi | 219 ------------------------------------ 5 files changed, 90 insertions(+), 447 deletions(-) delete mode 100644 doc/lispref/vol1.texi delete mode 100644 doc/lispref/vol2.texi diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index fb6d8fcada3..7c2f61d1298 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,9 @@ 2012-05-09 Glenn Morris + * 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. diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index a799b2fe1b4..6e10ad635be 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -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 diff --git a/doc/lispref/two-volume.make b/doc/lispref/two-volume.make index 07fcaf09b98..eb5c0e0193d 100644 --- a/doc/lispref/two-volume.make +++ b/doc/lispref/two-volume.make @@ -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 diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi deleted file mode 100644 index 7712ea1f330..00000000000 --- a/doc/lispref/vol1.texi +++ /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 - - -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 index 66e0250bd71..00000000000 --- a/doc/lispref/vol2.texi +++ /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 - - -These words prevent "local variables" above from confusing Emacs. -- 2.39.2