all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: John Sullivan <johns@fsf.org>
Cc: Emacs development discussions <emacs-devel@gnu.org>
Subject: Re: Fwd: version vs edition numbers in Emacs manuals
Date: Tue, 12 Nov 2019 11:32:00 -0800	[thread overview]
Message-ID: <b153b62c-fbfe-cecb-52f0-a2315d440e61@cs.ucla.edu> (raw)
In-Reply-To: <87sgmvozz9.fsf@wjsullivan.net>

[-- Attachment #1: Type: text/plain, Size: 856 bytes --]

On 11/10/19 7:26 PM, John Sullivan wrote:
> maybe the solution could be to have two online
> versions, one that corresponds to print and is only updated when a new
> print version is made, and the other is the one that the developers with
> each release or whenever they feel is appropriate? And that latter
> version would not have any edition number. We wouldn't have any problem
> with the primary canonical manual link
> (https://www.gnu.org/software/emacs/manual/emacs.html) being used for
> the online-only version. What do you think?

Sounds good. This can be done by Texinfo flags, which are set for the 
printed version and generate an edition number, and are clear for the 
canonical online/info manual and do not generate an edition number. I 
installed the attached patch into the GNU Emacs master to do this. We 
can tweak it as needed later.

[-- Attachment #2: 0001-Conditionally-omit-edition-numbers-dates-in-doc.patch --]
[-- Type: text/x-patch, Size: 7014 bytes --]

From 787bb984e964dac56ac773864581286d46f1d5e1 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 12 Nov 2019 11:29:00 -0800
Subject: [PATCH] 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.
---
 doc/emacs/emacs.texi                | 32 ++++++++++++++---------------
 doc/lispintro/emacs-lisp-intro.texi | 24 ++++++++++++++--------
 doc/lispref/elisp.texi              | 20 ++++++++++--------
 3 files changed, 41 insertions(+), 35 deletions(-)

diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index a7967ecaee..d23e682cc8 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -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 @@
 @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
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index 489ba8d6ef..710e64f457 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -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 @@
 @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
 
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index d667c51d78..72ad8a751d 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -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 @@
 @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.
-- 
2.23.0


  parent reply	other threads:[~2019-11-12 19:32 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-02  0:35 version vs edition numbers in Emacs manuals Paul Eggert
2019-11-02  3:07 ` Jean-Christophe Helary
2019-11-02  7:59 ` Eli Zaretskii
2019-11-02 17:23   ` Paul Eggert
2019-11-02 18:26     ` Eli Zaretskii
2019-11-03  3:26   ` Richard Stallman
     [not found]     ` <aa8429f8-34d2-e998-2bc6-7f7707b11ded@cs.ucla.edu>
     [not found]       ` <87h83brvxg.fsf@wjsullivan.net>
     [not found]         ` <0a820310-d4ce-d9ab-32b0-5d22c00d2122@cs.ucla.edu>
     [not found]           ` <87sgmvozz9.fsf@wjsullivan.net>
2019-11-12 19:32             ` Paul Eggert [this message]
2019-11-14 12:18               ` Fwd: " Eli Zaretskii
2019-11-14 19:42                 ` Paul Eggert
2019-11-15  9:29                   ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b153b62c-fbfe-cecb-52f0-a2315d440e61@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=emacs-devel@gnu.org \
    --cc=johns@fsf.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.