Subject: Re: bug#16292: 24.3.50; info docs now contain single straight quotes instead of `'

From: Paul Eggert <[email-masked]>
Date: Sat, 04 Jan 2014 09:50:21 -0800

Stefan Monnier wrote:

> Isn't there a way other than modifying the file to tell
>  Texinfo that the encoding is utf-8?

Not that I know of, no.  Sorry.

> your test will end up using ASCII in non-English locales

No, because the test doesn't look at the current locale.
It looks at what locales are available.
That being said, the test could be improved to not care about
English; that's simpler anyway.  I'll attach a revised patch,
which also fixes some other problems I noticed (e.g., some
'sed' implementations mishandle NUL bytes).

Defaulting to ASCII in all platforms would leave the original
bug unfixed by default on all installations, causing the
regression from `foo' to 'foo' that Drew Adams complained of.
I.e., on all platforms the Emacs documentation would default
to lower quality than it's had for decades.  It's better to
default to ASCII only on platforms that don't support UTF-8
well.

> the config option might like to use a more
> generic name like "--with-liberal-use-of-unicode".

But it's not liberal: it's conservative!  :-)
That is, it conserves the info file's contents.
Plus, it's UTF-8 not Unicode.

I tried names like '--with-some-utf-8-or-another' but
the 'utf-8-' makes it hard to parse visually, so I inverted the
flag to '--with-ascii-info-marks', which just barely fits in
'configure --help' output.  This is included in the revised
patch.
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [email-masked]
# target_branch: bzr+ssh://[email-masked]/emacs/trunk
# testament_sha1: 24d37d287bb541e3d8300ac2845f5b21ab333bde
# timestamp: 2014-01-04 09:36:23 -0800
# base_revision_id: [email-masked]
# 
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog	2014-01-03 01:59:58 +0000
+++ ChangeLog	2014-01-04 17:36:16 +0000
@@ -1,3 +1,13 @@
+2014-01-04  Paul Eggert  <[email-masked]>
+
+	Specify info encoding and language (Bug#16292).
+	* build-aux/ascii-info-marks: New file.
+	* configure.ac: New option --with-ascii-info-marks,
+	which configures INSTALL_INFO_DATA.
+	* Makefile.in (INSTALL_INFO_DATA): New macro.
+	(install-info): Use it.
+	* INSTALL: Document --with-ascii-info-marks.
+
 2014-01-03  Paul Eggert  <[email-masked]>
 
 	Merge from gnulib, incorporating:

=== modified file 'INSTALL'
--- INSTALL	2014-01-01 07:43:34 +0000
+++ INSTALL	2014-01-04 16:42:33 +0000
@@ -327,6 +327,11 @@
 even on hosts where a narrower type would do.  With this option, on a
 typical 32-bit host, Emacs integers have 62 bits instead of 30.
 
+Use --with-ascii-info-marks to install Info files with ASCII
+punctuation marks, e.g., 'A-Z' rather than ‘A–Z’; this is the default
+if UTF-8 is not supported.  Use --without-ascii-info-marks to install
+Info files as-is.
+
 Use --enable-gcc-warnings to enable compile-time checks that warn
 about possibly-questionable C code.  This is intended for developers
 and is useful with GNU-compatible compilers.  On a recent GNU system

=== modified file 'Makefile.in'
--- Makefile.in	2014-01-01 07:43:34 +0000
+++ Makefile.in	2014-01-02 00:46:55 +0000
@@ -255,6 +255,7 @@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_INFO = @INSTALL_INFO@
+INSTALL_INFO_DATA = @INSTALL_INFO_DATA@
 # By default, we uphold the dignity of our programs.
 INSTALL_STRIP =
 MKDIR_P = @MKDIR_P@
@@ -663,7 +664,8 @@
 	      test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \
 	      for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
 	       (cd "$${thisdir}"; \
-	        ${INSTALL_DATA} ${srcdir}/info/$$f "$(DESTDIR)${infodir}/$$f"); \
+	        ${INSTALL_INFO_DATA} ${srcdir}/info/$$f \
+		  "$(DESTDIR)${infodir}/$$f"); \
 	        [ -n "${GZIP_PROG}" ] || continue ; \
 	        rm -f "$(DESTDIR)${infodir}/$$f.gz"; \
 	        ${GZIP_PROG} -9n "$(DESTDIR)${infodir}/$$f"; \

=== added file 'build-aux/ascii-info-marks'
--- build-aux/ascii-info-marks	1970-01-01 00:00:00 +0000
+++ build-aux/ascii-info-marks	2014-01-04 16:53:02 +0000
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copy an info file, but replace curly quotes etc. with ASCII markup
+
+# Copyright 2014 Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+# written by Paul Eggert
+
+# We're pretty close where UTF-8 characters can be assumed to work
+# everywhere, but as of 2014 we're not quite there yet.  For now, this
+# command works around some of the problem by replacing most UTF-8
+# characters in typical info files with ASCII approximations.
+
+# The input should be UTF-8.  The UTF-8 output is designed for an info
+# file in an environment that either groks UTF-8, or which mishandles
+# UTF-8 but which works with ASCII or near-ASCII and can tolerate some
+# mojibake.  Some information may be lost in the process, and the
+# number of characters and/or bytes may change.  Only non-ASCII
+# symbols generated by 'makeinfo' are transliterated.  Other non-ASCII
+# characters (which presumably came from the Info file itself) are
+# left alone; these will work properly in UTF-8 locales and will
+# probably be mojibake in non-UTF-8 locales.
+
+LC_ALL=C
+export LC_ALL
+
+source=${1?}
+dest=${2?}
+
+(tr '\0' '\1' |
+ sed '
+   s/©/(C)/g
+   s/–/-/g
+   s/—/--/g
+   s/‘/'\''/g
+   s/’/'\''/g
+   s/“/"/g
+   s/”/"/g
+   s/•/*/g
+   s/…/.../g
+   s/→/->/g
+   s/↦/|->/g
+   s/⇒/=>/g
+   s/−/-/g
+   s/≡/==/g
+   s/⊣/-|/g
+   s/★/*/g
+ ' |
+ tr '\1' '\0'
+) <"$source" >"$dest"

=== modified file 'configure.ac'
--- configure.ac	2014-01-01 08:31:29 +0000
+++ configure.ac	2014-01-04 16:53:02 +0000
@@ -300,6 +300,17 @@
   [don't compress some files (.el, .info, etc.) when installing.  Equivalent to:
 make GZIP_PROG= install])
 
+AC_ARG_WITH([ascii-info-marks],
+  [AS_HELP_STRING([--with-ascii-info-marks],
+     [install info files with 'A-Z', not ‘A–Z’])],
+  [],
+  [[case `(locale -a) 2>/dev/null` in
+      *.[Uu][Tt][Ff]-8* | *.[Uu][Tt][Ff]8*)
+	with_ascii_info_marks=no ;;
+      *)
+	with_ascii_info_marks=$with_features ;;
+    esac]])
+
 AC_ARG_WITH([pkg-config-prog],dnl
 [AS_HELP_STRING([--with-pkg-config-prog=FILENAME],
                   [file name of pkg-config for finding GTK and librsvg])])
@@ -973,6 +984,14 @@
 
 AC_PATH_PROG(INSTALL_INFO, install-info, :,
   $PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin)
+
+if test "$with_ascii_info_marks" = yes; then
+  INSTALL_INFO_DATA='build-aux/ascii-info-marks'
+else
+  INSTALL_INFO_DATA='$(INSTALL_DATA)'
+fi
+AC_SUBST([INSTALL_INFO_DATA])
+
 dnl Don't use GZIP, which is used by gzip for additional parameters.
 AC_PATH_PROG(GZIP_PROG, gzip)

=== modified file 'doc/emacs/ChangeLog'
--- doc/emacs/ChangeLog	2014-01-01 07:43:34 +0000
+++ doc/emacs/ChangeLog	2014-01-04 02:43:33 +0000
@@ -1,3 +1,8 @@
+2014-01-04  Paul Eggert  <[email-masked]>
+
+	Specify info encoding and language (Bug#16292).
+	* emacs.texi, emacs-xtra.texi: Add @documentlanguage directive.
+
 2013-12-28  Glenn Morris  <[email-masked]>
 
 	* trouble.texi (Understanding Bug Reporting): Brevity.

=== modified file 'doc/emacs/emacs-xtra.texi'
--- doc/emacs/emacs-xtra.texi	2014-01-01 08:31:29 +0000
+++ doc/emacs/emacs-xtra.texi	2014-01-01 23:22:18 +0000
@@ -27,6 +27,7 @@
 @end copying
 
 @documentencoding UTF-8
+@documentlanguage en
 
 @dircategory Emacs
 @direntry

=== modified file 'doc/emacs/emacs.texi'
--- doc/emacs/emacs.texi	2014-01-01 08:31:29 +0000
+++ doc/emacs/emacs.texi	2014-01-01 23:22:18 +0000
@@ -45,6 +45,7 @@
 @end copying
 
 @documentencoding UTF-8
+@documentlanguage en
 
 @dircategory Emacs
 @direntry

=== modified file 'doc/lispintro/ChangeLog'
--- doc/lispintro/ChangeLog	2014-01-01 07:43:34 +0000
+++ doc/lispintro/ChangeLog	2014-01-04 02:43:33 +0000
@@ -1,3 +1,8 @@
+2014-01-04  Paul Eggert  <[email-masked]>
+
+	Specify info encoding and language (Bug#16292).
+	* emacs-lisp-intro.texi: Add @documentencoding, @documentlanguage.
+
 2013-12-30  Glenn Morris  <[email-masked]>
 
 	* emacs-lisp-intro.texi: Use @quotation for license notice.

=== modified file 'doc/lispintro/emacs-lisp-intro.texi'
--- doc/lispintro/emacs-lisp-intro.texi	2014-01-01 08:31:29 +0000
+++ doc/lispintro/emacs-lisp-intro.texi	2014-01-01 23:22:18 +0000
@@ -4,6 +4,8 @@
 @c setfilename emacs-lisp-intro.info
 @c sethtmlfilename emacs-lisp-intro.html
 @settitle Programming in Emacs Lisp
+@documentencoding UTF-8
+@documentlanguage en
 @syncodeindex vr cp
 @syncodeindex fn cp
 @finalout

=== modified file 'doc/lispref/ChangeLog'
--- doc/lispref/ChangeLog	2014-01-03 05:49:06 +0000
+++ doc/lispref/ChangeLog	2014-01-04 02:43:33 +0000
@@ -1,3 +1,9 @@
+2014-01-04  Paul Eggert  <[email-masked]>
+
+	Specify info encoding and language (Bug#16292).
+	* back.texi, book-spine.texi, elisp.texi, lay-flat.texi:
+	Add @documentencoding, @documentlanguage as needed.
+
 2014-01-03  Chong Yidong  <[email-masked]>
 
 	* help.texi (Documentation, Accessing Documentation): Copyedits.

=== modified file 'doc/lispref/back.texi'
--- doc/lispref/back.texi	2014-01-01 07:43:34 +0000
+++ doc/lispref/back.texi	2014-01-01 23:22:18 +0000
@@ -6,6 +6,8 @@
 @c %**start of header
 @setfilename back-cover
 @settitle GNU Emacs Lisp Reference Manual
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 .
 @sp 7

=== modified file 'doc/lispref/book-spine.texi'
--- doc/lispref/book-spine.texi	2013-12-30 17:08:32 +0000
+++ doc/lispref/book-spine.texi	2014-01-01 23:22:18 +0000
@@ -2,6 +2,8 @@
 @c %**start of header
 @setfilename book-spine
 @settitle book-spine
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @include emacsver.texi

=== modified file 'doc/lispref/elisp.texi'
--- doc/lispref/elisp.texi	2014-01-01 08:31:29 +0000
+++ doc/lispref/elisp.texi	2014-01-01 23:22:18 +0000
@@ -116,6 +116,7 @@
 @end copying
 
 @documentencoding UTF-8
+@documentlanguage en
 
 @dircategory Emacs lisp
 @direntry

=== modified file 'doc/lispref/lay-flat.texi'
--- doc/lispref/lay-flat.texi	2014-01-01 07:43:34 +0000
+++ doc/lispref/lay-flat.texi	2014-01-01 23:22:18 +0000
@@ -7,6 +7,8 @@
 @setfilename inner-covers.info
 @settitle Inner Covers
 @smallbook
+@documentencoding UTF-8
+@documentlanguage en
 @comment %**end of header
 
 @headings off

=== modified file 'doc/misc/ChangeLog'
--- doc/misc/ChangeLog	2014-01-03 23:14:16 +0000
+++ doc/misc/ChangeLog	2014-01-04 02:43:33 +0000
@@ -1,3 +1,21 @@
+2014-01-04  Paul Eggert  <[email-masked]>
+
+	Specify info encoding and language (Bug#16292).
+	* ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi:
+	* cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi:
+	* ede.texi, ediff.texi, edt.texi, efaq-w32.texi, efaq.texi:
+	* eieio.texi, emacs-gnutls.texi, emacs-mime.texi, epa.texi, erc.texi:
+	* ert.texi, eshell.texi, eudc.texi, flymake.texi, forms.texi:
+	* gnus-coding.texi, gnus-faq.texi, gnus.texi, htmlfontify.texi:
+	* idlwave.texi, ido.texi, info.texi, mairix-el.texi, message.texi:
+	* mh-e.texi, newsticker.texi, nxml-mode.texi, octave-mode.texi:
+	* org.texi, pcl-cvs.texi, pgg.texi, rcirc.texi, reftex.texi:
+	* remember.texi, sasl.texi, sc.texi, semantic.texi, ses.texi:
+	* sieve.texi, smtpmail.texi, speedbar.texi, srecode.texi:
+	* todo-mode.texi, tramp.texi, url.texi, vip.texi, viper.texi:
+	* widget.texi, wisent.texi, woman.texi:
+	Add @documentencoding, @documentlanguage as needed.
+
 2014-01-03  Aidan Gauland  <[email-masked]>
 
 	* eshell.texi (What Eshell is not): Clean up confusing clause.

=== modified file 'doc/misc/ada-mode.texi'
--- doc/misc/ada-mode.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/ada-mode.texi	2014-01-01 23:22:18 +0000
@@ -1,6 +1,8 @@
 \input texinfo  @c -*-texinfo-*-
 @setfilename ../../info/ada-mode
 @settitle Ada Mode
+@documentencoding UTF-8
+@documentlanguage en
 
 @copying
 Copyright @copyright{} 1999--2014 Free Software Foundation, Inc.

=== modified file 'doc/misc/auth.texi'
--- doc/misc/auth.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/auth.texi	2014-01-01 23:22:18 +0000
@@ -6,6 +6,8 @@
 
 @setfilename ../../info/auth
 @settitle Emacs auth-source Library @value{VERSION}
+@documentencoding UTF-8
+@documentlanguage en
 
 @copying
 This file describes the Emacs auth-source library.

=== modified file 'doc/misc/autotype.texi'
--- doc/misc/autotype.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/autotype.texi	2014-01-01 23:22:18 +0000
@@ -5,6 +5,8 @@
 @c @node Autotypist, Picture, Abbrevs, Top
 @c @chapter Features for Automatic Typing
 @settitle Features for Automatic Typing
+@documentencoding UTF-8
+@documentlanguage en
 @c  @cindex text
 @c  @cindex selfinserting text
 @c  @cindex autotypist

=== modified file 'doc/misc/bovine.texi'
--- doc/misc/bovine.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/bovine.texi	2014-01-01 23:22:18 +0000
@@ -4,6 +4,8 @@
 @set TITLE  Bovine parser development
 @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim
 @settitle @value{TITLE}
+@documentencoding UTF-8
+@documentlanguage en
 
 @c *************************************************************************
 @c @ Header

=== modified file 'doc/misc/calc.texi'
--- doc/misc/calc.texi	2014-01-03 02:53:29 +0000
+++ doc/misc/calc.texi	2014-01-03 08:51:50 +0000
@@ -4,6 +4,8 @@
 @setfilename ../../info/calc
 @c [title]
 @settitle GNU Emacs Calc Manual
+@documentencoding UTF-8
+@documentlanguage en
 @setchapternewpage odd
 @comment %**end of header (This is for running Texinfo on a region.)

=== modified file 'doc/misc/cc-mode.texi'
--- doc/misc/cc-mode.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/cc-mode.texi	2014-01-01 23:22:18 +0000
@@ -83,6 +83,8 @@
 
 @setfilename  ../../info/ccmode
 @settitle     CC Mode Manual
+@documentencoding UTF-8
+@documentlanguage en
 @footnotestyle end
 
 @c The following four macros generate the filenames and titles of the

=== modified file 'doc/misc/cl.texi'
--- doc/misc/cl.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/cl.texi	2014-01-01 23:22:18 +0000
@@ -1,6 +1,8 @@
 \input texinfo    @c -*-texinfo-*-
 @setfilename ../../info/cl
 @settitle Common Lisp Extensions
+@documentencoding UTF-8
+@documentlanguage en
 @include emacsver.texi
 
 @copying

=== modified file 'doc/misc/dbus.texi'
--- doc/misc/dbus.texi	2014-01-03 03:07:20 +0000
+++ doc/misc/dbus.texi	2014-01-03 08:51:50 +0000
@@ -2,6 +2,8 @@
 @setfilename ../../info/dbus
 @c %**start of header
 @settitle Using of D-Bus
+@documentencoding UTF-8
+@documentlanguage en
 @c @setchapternewpage odd
 @c %**end of header

=== modified file 'doc/misc/dired-x.texi'
--- doc/misc/dired-x.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/dired-x.texi	2014-01-01 23:22:18 +0000
@@ -9,6 +9,8 @@
 @comment %**start of header (This is for running Texinfo on a region.)
 @setfilename ../../info/dired-x
 @settitle Dired Extra User's Manual
+@documentencoding UTF-8
+@documentlanguage en
 
 @include emacsver.texi

=== modified file 'doc/misc/ebrowse.texi'
--- doc/misc/ebrowse.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/ebrowse.texi	2014-01-01 23:22:18 +0000
@@ -3,6 +3,8 @@
 @comment %**start of header
 @setfilename ../../info/ebrowse
 @settitle A Class Browser for C++
+@documentencoding UTF-8
+@documentlanguage en
 @setchapternewpage odd
 @syncodeindex fn cp
 @comment %**end of header

=== modified file 'doc/misc/ede.texi'
--- doc/misc/ede.texi	2014-01-03 03:13:58 +0000
+++ doc/misc/ede.texi	2014-01-03 08:51:50 +0000
@@ -1,6 +1,8 @@
 \input texinfo
 @setfilename ../../info/ede
 @settitle Emacs Development Environment
+@documentencoding UTF-8
+@documentlanguage en
 
 @copying
 This file describes EDE, the Emacs Development Environment.

=== modified file 'doc/misc/ediff.texi'
--- doc/misc/ediff.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/ediff.texi	2014-01-01 23:22:18 +0000
@@ -10,6 +10,8 @@
 @setfilename ../../info/ediff
 
 @settitle Ediff User's Manual
+@documentencoding UTF-8
+@documentlanguage en
 @synindex vr cp
 @synindex fn cp
 @synindex pg cp

=== modified file 'doc/misc/edt.texi'
--- doc/misc/edt.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/edt.texi	2014-01-01 23:22:18 +0000
@@ -1,6 +1,8 @@
 \input texinfo
 @setfilename ../../info/edt
 @settitle EDT Emulation for Emacs
+@documentencoding UTF-8
+@documentlanguage en
 
 @copying
 This file documents the EDT emulation package for Emacs.

=== modified file 'doc/misc/efaq-w32.texi'
--- doc/misc/efaq-w32.texi	2014-01-03 03:15:01 +0000
+++ doc/misc/efaq-w32.texi	2014-01-03 08:51:50 +0000
@@ -166,7 +166,7 @@
 Emacs binaries are distributed as zip files, digitally
 signed by the developer who built them.  Generally most users will
 want the file @file{emacs-@value{EMACSVER}-bin-i386.zip}, which
-contains everything you need to get started. 
+contains everything you need to get started.
 
 @cindex where to get sources
 @cindex Emacs source code
@@ -290,7 +290,7 @@
 
 The command to unpack a source distribution from the command line is:
 @example
-tar xzf emacs-@value{EMACSVER}.tar.gz 
+tar xzf emacs-@value{EMACSVER}.tar.gz
 @end example
 
 If this does not work with the versions of tar and gzip that you have,
@@ -577,9 +577,9 @@
 Subject: Re: Re[2]: problem with caps/ctrl swap on NT 4.0
 @end ignore
 @example
-It's a binary value that lets you map keystrokes in the low-level keyboard 
-drivers in NT.  As a result you don't have to worry about applications 
-bypassing mappings that you've done at a higher level (i.e. it just works). 
+It's a binary value that lets you map keystrokes in the low-level keyboard
+drivers in NT.  As a result you don't have to worry about applications
+bypassing mappings that you've done at a higher level (i.e. it just works).
 
 Here's the format of the value:
 
@@ -591,11 +591,11 @@
 	DWORD:	mapping n
 	DWORD:	0x00000000	terminating null DWORD
 
-Each mapping DWORD  has two parts: the input scancode, and an output 
-scancode.  To map scancode 0x1d (left control) to scancode 0x3a (caps 
-lock), you want a value of 0x003a001d.  Note that this does not swap the 
-keys.  Using just this mapping value, both the left control and the caps 
-lock key will behave as caps-lock.  To swap, you also need to map 0x3a to 
+Each mapping DWORD  has two parts: the input scancode, and an output
+scancode.  To map scancode 0x1d (left control) to scancode 0x3a (caps
+lock), you want a value of 0x003a001d.  Note that this does not swap the
+keys.  Using just this mapping value, both the left control and the caps
+lock key will behave as caps-lock.  To swap, you also need to map 0x3a to
 0x1d, using 0x001d003a.
 
 This registry value is system wide, and can't be made user-specific.  It
@@ -1430,7 +1430,7 @@
 You can start an interactive shell in Emacs by typing @kbd{M-x shell}.
 Emacs uses the @env{SHELL} environment variable to determine which
 program to use as the shell.  To instruct Emacs to use a non-default
-shell, you can either set this environment variable, or customize 
+shell, you can either set this environment variable, or customize
 @code{explicit-shell-file-name}.  You can also customize
 @code{shell-file-name} to change the shell that will be used by
 subprocesses that are started with @code{shell-command} and

=== modified file 'doc/misc/efaq.texi'
--- doc/misc/efaq.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/efaq.texi	2014-01-01 23:22:18 +0000
@@ -2,6 +2,8 @@
 @c %**start of header
 @setfilename ../../info/efaq
 @settitle GNU Emacs FAQ
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @include emacsver.texi

=== modified file 'doc/misc/eieio.texi'
--- doc/misc/eieio.texi	2014-01-03 03:13:58 +0000
+++ doc/misc/eieio.texi	2014-01-03 08:51:50 +0000
@@ -3,6 +3,8 @@
 @set TITLE Enhanced Implementation of Emacs Interpreted Objects
 @set AUTHOR Eric M. Ludlam
 @settitle @value{TITLE}
+@documentencoding UTF-8
+@documentlanguage en
 
 @c *************************************************************************
 @c @ Header

=== modified file 'doc/misc/emacs-gnutls.texi'
--- doc/misc/emacs-gnutls.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/emacs-gnutls.texi	2014-01-01 23:22:18 +0000
@@ -4,6 +4,8 @@
 
 @setfilename ../../info/emacs-gnutls
 @settitle Emacs GnuTLS Integration @value{VERSION}
+@documentencoding UTF-8
+@documentlanguage en
 
 @copying
 This file describes the Emacs GnuTLS integration.

=== modified file 'doc/misc/emacs-mime.texi'
--- doc/misc/emacs-mime.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/emacs-mime.texi	2014-01-01 23:22:18 +0000
@@ -26,8 +26,8 @@
 @end quotation
 @end copying
 
-@c Node ``Interface Functions'' uses non-ASCII characters
 @documentencoding UTF-8
+@documentlanguage en
 
 @dircategory Emacs lisp libraries
 @direntry

=== modified file 'doc/misc/epa.texi'
--- doc/misc/epa.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/epa.texi	2014-01-01 23:22:18 +0000
@@ -2,6 +2,8 @@
 @c %**start of header
 @setfilename ../../info/epa
 @settitle EasyPG Assistant User's Manual
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @set VERSION 1.0.0

=== modified file 'doc/misc/erc.texi'
--- doc/misc/erc.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/erc.texi	2014-01-01 23:22:18 +0000
@@ -4,6 +4,8 @@
 @settitle ERC Manual
 @syncodeindex fn cp
 @include emacsver.texi
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/ert.texi'
--- doc/misc/ert.texi	2014-01-03 03:00:39 +0000
+++ doc/misc/ert.texi	2014-01-03 08:51:50 +0000
@@ -2,6 +2,8 @@
 @c %**start of header
 @setfilename ../../info/ert
 @settitle Emacs Lisp Regression Testing
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @dircategory Emacs misc features

=== modified file 'doc/misc/eshell.texi'
--- doc/misc/eshell.texi	2014-01-03 23:14:16 +0000
+++ doc/misc/eshell.texi	2014-01-03 23:49:11 +0000
@@ -4,6 +4,8 @@
 @settitle Eshell: The Emacs Shell
 @defindex cm
 @synindex vr fn
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/eudc.texi'
--- doc/misc/eudc.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/eudc.texi	2014-01-01 23:22:18 +0000
@@ -3,6 +3,8 @@
 @setfilename ../../info/eudc
 @settitle Emacs Unified Directory Client (EUDC) Manual
 @afourpaper
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/flymake.texi'
--- doc/misc/flymake.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/flymake.texi	2014-01-01 23:22:18 +0000
@@ -5,6 +5,8 @@
 @set UPDATED April 2004
 @settitle GNU Flymake @value{VERSION}
 @syncodeindex pg cp
+@documentencoding UTF-8
+@documentlanguage en
 @comment %**end of header
 
 @copying

=== modified file 'doc/misc/forms.texi'
--- doc/misc/forms.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/forms.texi	2014-01-01 23:22:18 +0000
@@ -14,6 +14,8 @@
 @end iftex
 @c      @smallbook
 @comment %**end of header (This is for running Texinfo on a region.)
+@documentencoding UTF-8
+@documentlanguage en
 
 @copying
 This file documents Forms mode, a form-editing major mode for GNU Emacs.

=== modified file 'doc/misc/gnus-coding.texi'
--- doc/misc/gnus-coding.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/gnus-coding.texi	2014-01-01 23:22:18 +0000
@@ -2,6 +2,8 @@
 
 @setfilename gnus-coding
 @settitle Gnus Coding Style and Maintenance Guide
+@documentencoding UTF-8
+@documentlanguage en
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex pg cp

=== modified file 'doc/misc/gnus-faq.texi'
--- doc/misc/gnus-faq.texi	2014-01-01 07:43:34 +0000
+++ doc/misc/gnus-faq.texi	2014-01-01 23:22:18 +0000
@@ -5,6 +5,8 @@
 @c
 @c @setfilename gnus-faq.info
 @c @settitle Frequently Asked Questions
+@c @documentencoding UTF-8
+@c @documentlanguage en
 @c %**end of header
 @c

=== modified file 'doc/misc/gnus.texi'
--- doc/misc/gnus.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/gnus.texi	2014-01-01 23:22:18 +0000
@@ -9,6 +9,7 @@
 @syncodeindex pg cp
 
 @documentencoding UTF-8
+@documentlanguage en
 
 @copying
 Copyright @copyright{} 1995--2014 Free Software Foundation, Inc.

=== modified file 'doc/misc/htmlfontify.texi'
--- doc/misc/htmlfontify.texi	2014-01-01 07:43:34 +0000
+++ doc/misc/htmlfontify.texi	2014-01-01 23:22:18 +0000
@@ -3,6 +3,8 @@
 @setfilename ../../info/htmlfontify
 @settitle Htmlfontify User Manual
 @exampleindent 2
+@documentencoding UTF-8
+@documentlanguage en
 @comment %**end of header
 
 @copying

=== modified file 'doc/misc/idlwave.texi'
--- doc/misc/idlwave.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/idlwave.texi	2014-01-01 23:22:18 +0000
@@ -12,6 +12,8 @@
 @set DATE April, 2007
 @set AUTHOR J.D. Smith & Carsten Dominik
 @set MAINTAINER J.D. Smith
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 @finalout

=== modified file 'doc/misc/ido.texi'
--- doc/misc/ido.texi	2014-01-01 23:13:59 +0000
+++ doc/misc/ido.texi	2014-01-01 23:22:18 +0000
@@ -1,6 +1,8 @@
 \input texinfo    @c -*-texinfo-*-
 @setfilename ../../info/ido
 @settitle Interactive Do
+@documentencoding UTF-8
+@documentlanguage en
 @include emacsver.texi
 
 @copying

=== modified file 'doc/misc/info.texi'
--- doc/misc/info.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/info.texi	2014-01-01 23:22:18 +0000
@@ -8,6 +8,8 @@
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex ky cp
+@documentencoding UTF-8
+@documentlanguage en
 @comment %**end of header
 
 @copying

=== modified file 'doc/misc/mairix-el.texi'
--- doc/misc/mairix-el.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/mairix-el.texi	2014-01-01 23:22:18 +0000
@@ -4,6 +4,7 @@
 @settitle Emacs Interface for Mairix
 
 @documentencoding UTF-8
+@documentlanguage en
 
 @copying
 Copyright @copyright{} 2008--2014 Free Software Foundation, Inc.

=== modified file 'doc/misc/message.texi'
--- doc/misc/message.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/message.texi	2014-01-01 23:22:18 +0000
@@ -4,6 +4,8 @@
 
 @setfilename ../../info/message
 @settitle Message Manual
+@documentencoding UTF-8
+@documentlanguage en
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp

=== modified file 'doc/misc/mh-e.texi'
--- doc/misc/mh-e.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/mh-e.texi	2014-01-01 23:22:18 +0000
@@ -5,6 +5,8 @@
 @c %**start of header
 @setfilename ../../info/mh-e
 @settitle The MH-E Manual
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @c Version of the software and manual.

=== modified file 'doc/misc/newsticker.texi'
--- doc/misc/newsticker.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/newsticker.texi	2014-01-01 23:22:18 +0000
@@ -7,6 +7,8 @@
 @syncodeindex vr cp
 @syncodeindex fn cp
 @syncodeindex pg cp
+@documentencoding UTF-8
+@documentlanguage en
 @comment %**end of header
 
 @copying

=== modified file 'doc/misc/nxml-mode.texi'
--- doc/misc/nxml-mode.texi	2014-01-03 03:07:20 +0000
+++ doc/misc/nxml-mode.texi	2014-01-03 08:51:50 +0000
@@ -2,6 +2,8 @@
 @c %**start of header
 @setfilename ../../info/nxml-mode
 @settitle nXML Mode
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/octave-mode.texi'
--- doc/misc/octave-mode.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/octave-mode.texi	2014-01-01 23:22:18 +0000
@@ -2,6 +2,8 @@
 @c %**start of header
 @setfilename ../../info/octave-mode
 @settitle Octave Mode
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/org.texi'
--- doc/misc/org.texi	2014-01-01 23:13:59 +0000
+++ doc/misc/org.texi	2014-01-01 23:22:18 +0000
@@ -15,6 +15,8 @@
 @set MAINTAINER Carsten Dominik
 @set MAINTAINEREMAIL @email{carsten at orgmode dot org}
 @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer}
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 @finalout

=== modified file 'doc/misc/pcl-cvs.texi'
--- doc/misc/pcl-cvs.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/pcl-cvs.texi	2014-01-01 23:22:18 +0000
@@ -3,6 +3,8 @@
 @setfilename ../../info/pcl-cvs
 @settitle PCL-CVS---Emacs Front-End to CVS
 @syncodeindex vr fn
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/pgg.texi'
--- doc/misc/pgg.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/pgg.texi	2014-01-01 23:22:18 +0000
@@ -7,6 +7,9 @@
 @set VERSION 0.1
 @settitle PGG @value{VERSION}
 
+@documentencoding UTF-8
+@documentlanguage en
+
 @copying
 This file describes PGG @value{VERSION}, an Emacs interface to various
 PGP implementations.

=== modified file 'doc/misc/rcirc.texi'
--- doc/misc/rcirc.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/rcirc.texi	2014-01-01 23:22:18 +0000
@@ -2,6 +2,8 @@
 @c %**start of header
 @setfilename ../../info/rcirc
 @settitle rcirc Manual
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/reftex.texi'
--- doc/misc/reftex.texi	2014-01-03 03:15:01 +0000
+++ doc/misc/reftex.texi	2014-01-03 08:51:50 +0000
@@ -2,6 +2,8 @@
 @c %**start of header
 @setfilename ../../info/reftex
 @settitle RefTeX User Manual
+@documentencoding UTF-8
+@documentlanguage en
 @synindex ky cp
 @syncodeindex vr cp
 @syncodeindex fn cp

=== modified file 'doc/misc/remember.texi'
--- doc/misc/remember.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/remember.texi	2014-01-01 23:22:18 +0000
@@ -3,6 +3,8 @@
 @setfilename ../../info/remember
 @settitle Remember Manual
 @syncodeindex fn cp
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/sasl.texi'
--- doc/misc/sasl.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/sasl.texi	2014-01-01 23:22:18 +0000
@@ -7,6 +7,9 @@
 @set VERSION 0.2
 @settitle Emacs SASL Library @value{VERSION}
 
+@documentencoding UTF-8
+@documentlanguage en
+
 @copying
 This file describes the Emacs SASL library, version @value{VERSION}.

=== modified file 'doc/misc/sc.texi'
--- doc/misc/sc.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/sc.texi	2014-01-01 23:22:18 +0000
@@ -3,6 +3,8 @@
 @comment %**start of header (This is for running Texinfo on a region.)
 @setfilename ../../info/sc
 @settitle Supercite User's Manual
+@documentencoding UTF-8
+@documentlanguage en
 @iftex
 @finalout
 @end iftex

=== modified file 'doc/misc/semantic.texi'
--- doc/misc/semantic.texi	2014-01-03 03:13:58 +0000
+++ doc/misc/semantic.texi	2014-01-03 08:51:50 +0000
@@ -3,6 +3,8 @@
 @set TITLE  Semantic Manual
 @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim
 @settitle @value{TITLE}
+@documentencoding UTF-8
+@documentlanguage en
 
 @c *************************************************************************
 @c @ Header

=== modified file 'doc/misc/ses.texi'
--- doc/misc/ses.texi	2014-01-03 14:18:24 +0000
+++ doc/misc/ses.texi	2014-01-03 22:24:08 +0000
@@ -6,6 +6,8 @@
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex ky cp
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/sieve.texi'
--- doc/misc/sieve.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/sieve.texi	2014-01-01 23:22:18 +0000
@@ -4,6 +4,8 @@
 
 @setfilename ../../info/sieve
 @settitle Emacs Sieve Manual
+@documentencoding UTF-8
+@documentlanguage en
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp

=== modified file 'doc/misc/smtpmail.texi'
--- doc/misc/smtpmail.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/smtpmail.texi	2014-01-01 23:22:18 +0000
@@ -1,6 +1,8 @@
 \input texinfo  @c -*-texinfo-*-
 @setfilename ../../info/smtpmail
 @settitle Emacs SMTP Library
+@documentencoding UTF-8
+@documentlanguage en
 @syncodeindex vr fn
 @copying
 Copyright @copyright{} 2003--2014 Free Software Foundation, Inc.

=== modified file 'doc/misc/speedbar.texi'
--- doc/misc/speedbar.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/speedbar.texi	2014-01-01 23:22:18 +0000
@@ -1,6 +1,8 @@
 \input texinfo   @c -*-texinfo-*-
 @setfilename ../../info/speedbar
 @settitle Speedbar: File/Tag summarizing utility
+@documentencoding UTF-8
+@documentlanguage en
 @syncodeindex fn cp
 
 @copying

=== modified file 'doc/misc/srecode.texi'
--- doc/misc/srecode.texi	2014-01-03 03:13:58 +0000
+++ doc/misc/srecode.texi	2014-01-03 08:51:50 +0000
@@ -4,6 +4,8 @@
 @set TITLE SRecoder Manual
 @set AUTHOR Eric M. Ludlam
 @settitle @value{TITLE}
+@documentencoding UTF-8
+@documentlanguage en
 
 @c Merge all indexes into a single index for now.
 @c We can always separate them later into two or more as needed.

=== modified file 'doc/misc/todo-mode.texi'
--- doc/misc/todo-mode.texi	2014-01-01 07:43:34 +0000
+++ doc/misc/todo-mode.texi	2014-01-01 23:22:18 +0000
@@ -5,6 +5,8 @@
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex ky cp
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/tramp.texi'
--- doc/misc/tramp.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/tramp.texi	2014-01-01 23:22:18 +0000
@@ -2,6 +2,8 @@
 @setfilename ../../info/tramp
 @c %**start of header
 @settitle TRAMP User Manual
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @c This is *so* much nicer :)

=== modified file 'doc/misc/url.texi'
--- doc/misc/url.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/url.texi	2014-01-01 23:22:18 +0000
@@ -2,6 +2,9 @@
 @setfilename ../../info/url
 @settitle URL Programmer's Manual
 
+@documentencoding UTF-8
+@documentlanguage en
+
 @iftex
 @c @finalout
 @end iftex

=== modified file 'doc/misc/vip.texi'
--- doc/misc/vip.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/vip.texi	2014-01-01 23:22:18 +0000
@@ -2,6 +2,9 @@
 @setfilename ../../info/vip
 @settitle VIP
 
+@documentencoding UTF-8
+@documentlanguage en
+
 @copying
 Copyright @copyright{} 1987, 2001--2014 Free Software Foundation, Inc.

=== modified file 'doc/misc/viper.texi'
--- doc/misc/viper.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/viper.texi	2014-01-01 23:22:18 +0000
@@ -6,6 +6,9 @@
 @comment @setfilename viper.info
 @setfilename ../../info/viper
 
+@documentencoding UTF-8
+@documentlanguage en
+
 @copying
 Copyright @copyright{} 1995--1997, 2001--2014 Free Software Foundation, Inc.

=== modified file 'doc/misc/widget.texi'
--- doc/misc/widget.texi	2014-01-03 03:07:20 +0000
+++ doc/misc/widget.texi	2014-01-03 08:51:50 +0000
@@ -5,6 +5,8 @@
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex ky cp
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/wisent.texi'
--- doc/misc/wisent.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/wisent.texi	2014-01-01 23:22:18 +0000
@@ -20,6 +20,8 @@
 @c @footnotestyle separate
 @c @paragraphindent 2
 @c @@smallbook
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'doc/misc/woman.texi'
--- doc/misc/woman.texi	2014-01-01 08:31:29 +0000
+++ doc/misc/woman.texi	2014-01-01 23:22:18 +0000
@@ -8,6 +8,8 @@
 @c Look for @page and @need commands.
 @setchapternewpage off
 @paragraphindent 0
+@documentencoding UTF-8
+@documentlanguage en
 @c %**end of header
 
 @copying

=== modified file 'etc/ChangeLog'
--- etc/ChangeLog	2014-01-01 07:43:34 +0000
+++ etc/ChangeLog	2014-01-04 16:42:33 +0000
@@ -1,3 +1,8 @@
+2014-01-04  Paul Eggert  <[email-masked]>
+
+	Specify info encoding and language (Bug#16292).
+	* NEWS: Document --with-ascii-info-marks.
+
 2013-12-29  Paul Eggert  <[email-masked]>
 
 	Plain copy-file no longer chmods an existing destination (Bug#16133).

=== modified file 'etc/NEWS'
--- etc/NEWS	2014-01-03 05:37:58 +0000
+++ etc/NEWS	2014-01-04 16:42:33 +0000
@@ -38,6 +38,10 @@
 and renamed to `--without-compress-install'.  It now prevents compression
 of _any_ files during installation.
 
+** The configure option `--with-ascii-info-marks' installs info files
+that use ASCII punctuation marks, e.g., 'A-Z' rather than ‘A–Z’.  This
+is the default if UTF-8 is not supported.
+
 ** The configure option `--with-crt-dir' has been removed.
 It is no longer needed, as the crt*.o files are no longer linked
 specially.