Conditionally omit edition numbers, dates in doc

This redoes the 2019-11-02T00:24:02!eggert@cs.ucla.edu patch,
updated after consultation with John Sullivan.
Omit printed edition numbers in online manuals while keeping
them in printed manuals.  In online manuals the edition
numbers seem to cause more confusion than they cure; e.g.,
https://shop.fsf.org/books/gnu-emacs-manual-18th-edition-v-261
currently advertises "18th edition" even as it points to
https://www.gnu.org/software/emacs/manual/pdf/emacs.pdf which
says "Seventeenth Edition".  It is simpler and less confusing
to stick to one version number like "27.0" in online manuals.
For printed manuals people can run, e.g., "texi2any -D
'EDITION Nineteenth'" when generating the 19th printed edition
of the Emacs manual.
* doc/emacs/emacs.texi (EDITION):
* doc/lispintro/emacs-lisp-intro.texi (edition-number, update-date):
* doc/lispref/elisp.texi (VERSION, DATE):
Remove definitions.  Instead, let the person printing the book
specify these values, with the default being the online version
which does not have printed edition numbers.
* doc/lispintro/emacs-lisp-intro.texi (titlepage-edition-number):
New flag, for the edition number as it appears on the title page.
This commit is contained in:
Paul Eggert 2019-11-12 11:29:00 -08:00
parent 1e5392a4ae
commit 4cccf7659a
3 changed files with 41 additions and 35 deletions

View file

@ -3,28 +3,21 @@
@setfilename ../../info/emacs.info
@settitle GNU Emacs Manual
@include docstyle.texi
@c The edition number appears in more than one place in this file
@c I don't really know what it means...
@c For example, it has said "Sixteenth" since sometime in the Emacs 22
@c series, all through 23, and into 24. So it is not very useful IMO,
@c and offers nothing that EMACSVER does not. I guess it relates
@c mainly to the published book sold by the FSF. Hence no longer
@c bother including it except iftex. Really, I think it should not be
@c here at all (since anyone can make a pdf version), but should just
@c be something added by the FSF during the publishing process.
@c Also, the lispref uses a float (3.0), whereas this uses an ordinal,
@c so the format is not even consistent.
@set EDITION Seventeenth
@include emacsver.texi
@c When printing, define EDITION to be the printed edition number, in
@c the preferred style for ordinal edition numbers. E.g., run the
@c shell command "texi2any -D 'EDITION Nineteenth'" for the 19th
@c printed edition where the edition number is spelled out in English.
@c This relates mainly to the published book sold by the FSF.
@copying
@iftex
@ifset EDITION
This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
@end iftex
@ifnottex
@end ifset
@ifclear EDITION
This is the @cite{GNU Emacs Manual},
@end ifnottex
@end ifclear
updated for Emacs version @value{EMACSVER}.
Copyright @copyright{} 1985--1987, 1993--2019 Free Software Foundation, Inc.
@ -82,7 +75,12 @@ developing GNU and promoting software freedom.''
@sp 6
@center @titlefont{GNU Emacs Manual}
@sp 4
@ifset EDITION
@center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}.
@end ifset
@ifclear EDITION
@center Updated for Emacs Version @value{EMACSVER}
@end ifclear
@sp 5
@center Richard Stallman et al.
@page

View file

@ -63,10 +63,6 @@
\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 For next or subsequent edition:
@c create function using with-output-to-temp-buffer
@c create a major mode, with keymaps
@ -102,16 +98,24 @@
* Emacs Lisp Intro: (eintr). A simple introduction to Emacs Lisp programming.
@end direntry
@c When printing, define edition-number to be the printed edition
@c number, titlepage-edition-number to be the spelled out edition
@c number suitable for the title page, and update-date to be the date,
@c in the preferred style for these. E.g., run the shell command:
@c texi2any -D 'edition-number 3.11' \
@c -D 'titlepage-edition-number Revised Third Edtion' \
@c -D 'update-date 31 March 2020'
@c This relates mainly to the published book sold by the FSF.
@copying
This is @cite{An Introduction to Programming in Emacs Lisp}, for
people who are not programmers.
@sp 1
@iftex
@ifset edition-number
Edition @value{edition-number}, @value{update-date}
@end iftex
@ifnottex
@end ifset
@sp 1
Distributed with Emacs version @value{EMACSVER}.
@end ifnottex
@sp 1
Copyright @copyright{} 1990--1995, 1997, 2001--2019 Free Software
Foundation, Inc.
@ -173,7 +177,9 @@ supports it in developing GNU and promoting software freedom.''
@sp 2
@center @titlefont{Programming in Emacs Lisp}
@sp 2
@center Revised Third Edition
@ifset titlepage-edition-number
@center @value{titlepage-edition-number}
@end ifset
@sp 4
@center by Robert J. Chassell

View file

@ -52,12 +52,7 @@
@end ifset
@end tex
@c Version of the manual and of Emacs.
@c (See comments for EDITION in emacs.texi)
@set VERSION 3.1
@include emacsver.texi
@set DATE October 2014
@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
@ -90,13 +85,18 @@
@c We use the "type index" to index new functions and variables.
@c @syncodeindex tp fn
@c When printing, define VERSION to be the printed edition number and
@c DATE to be the printed edition's date. E.g., run the shell command
@c "texi2any -D 'VERSION 3.2' -D 'DATE 31 March 2020'". This relates
@c mainly to the published book sold by the FSF.
@copying
@iftex
@ifset VERSION
This is edition @value{VERSION} of the @cite{GNU Emacs Lisp Reference Manual},@*
@end iftex
@ifnottex
@end ifset
@ifclear VERSION
This is the @cite{GNU Emacs Lisp Reference Manual}
@end ifnottex
@end ifclear
corresponding to Emacs version @value{EMACSVER}.
Copyright @copyright{} 1990--1996, 1998--2019 Free Software Foundation, Inc.
@ -127,7 +127,9 @@ developing GNU and promoting software freedom.''
@subtitle @value{voltitle}
@end ifset
@subtitle For Emacs Version @value{EMACSVER}
@ifset VERSION
@subtitle Revision @value{VERSION}, @value{DATE}
@end ifset
@author by Bil Lewis, Dan LaLiberte, Richard Stallman,
@author the GNU Manual Group, et al.