emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 40e720d 2/2: Merge branch 'master' of git.sv.gnu.or


From: Kenichi Handa
Subject: [Emacs-diffs] master 40e720d 2/2: Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Date: Sat, 02 May 2015 13:41:33 +0000

branch: master
commit 40e720d049693dfe0c5559a8a8285a0b5cc6c5e2
Merge: c3c9dab 0bbc027
Author: K. Handa <address@hidden>
Commit: K. Handa <address@hidden>

    Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
---
 doc/emacs/Makefile.in               |    1 +
 doc/emacs/docstyle.texi             |   10 +++++
 doc/emacs/emacs-xtra.texi           |    3 +-
 doc/emacs/emacs.texi                |    3 +-
 doc/emacs/mule.texi                 |    3 +-
 doc/lispintro/Makefile.in           |    4 +-
 doc/lispintro/emacs-lisp-intro.texi |    2 +-
 doc/lispref/Makefile.in             |    3 +-
 doc/lispref/back.texi               |    2 +-
 doc/lispref/book-spine.texi         |    2 +-
 doc/lispref/elisp.texi              |    3 +-
 doc/lispref/keymaps.texi            |    6 ++--
 doc/lispref/lay-flat.texi           |    2 +-
 doc/lispref/nonascii.texi           |    4 +-
 doc/lispref/objects.texi            |   10 +----
 doc/misc/Makefile.in                |   18 +++++----
 doc/misc/ada-mode.texi              |    2 +-
 doc/misc/auth.texi                  |    2 +-
 doc/misc/autotype.texi              |    2 +-
 doc/misc/bovine.texi                |    2 +-
 doc/misc/calc.texi                  |   24 ++++---------
 doc/misc/cc-mode.texi               |    2 +-
 doc/misc/cl.texi                    |    2 +-
 doc/misc/dbus.texi                  |    2 +-
 doc/misc/dired-x.texi               |    2 +-
 doc/misc/ebrowse.texi               |    2 +-
 doc/misc/ede.texi                   |    2 +-
 doc/misc/ediff.texi                 |    6 ++--
 doc/misc/edt.texi                   |    2 +-
 doc/misc/efaq-w32.texi              |    4 +--
 doc/misc/efaq.texi                  |    2 +-
 doc/misc/eieio.texi                 |    2 +-
 doc/misc/emacs-gnutls.texi          |    2 +-
 doc/misc/emacs-mime.texi            |    2 +-
 doc/misc/epa.texi                   |    2 +-
 doc/misc/erc.texi                   |    2 +-
 doc/misc/ert.texi                   |    2 +-
 doc/misc/eshell.texi                |    2 +-
 doc/misc/eudc.texi                  |    2 +-
 doc/misc/eww.texi                   |    2 +-
 doc/misc/flymake.texi               |    2 +-
 doc/misc/forms.texi                 |    2 +-
 doc/misc/gnus-coding.texi           |    2 +-
 doc/misc/gnus-faq.texi              |    2 +-
 doc/misc/gnus.texi                  |   11 +++---
 doc/misc/htmlfontify.texi           |    2 +-
 doc/misc/idlwave.texi               |    2 +-
 doc/misc/ido.texi                   |    2 +-
 doc/misc/info.texi                  |    2 +-
 doc/misc/mairix-el.texi             |    3 +-
 doc/misc/message.texi               |    2 +-
 doc/misc/mh-e.texi                  |    2 +-
 doc/misc/newsticker.texi            |    2 +-
 doc/misc/nxml-mode.texi             |    2 +-
 doc/misc/octave-mode.texi           |    2 +-
 doc/misc/org.texi                   |    4 +-
 doc/misc/pcl-cvs.texi               |    2 +-
 doc/misc/pgg.texi                   |    3 +-
 doc/misc/rcirc.texi                 |    2 +-
 doc/misc/reftex.texi                |    2 +-
 doc/misc/remember.texi              |    2 +-
 doc/misc/sasl.texi                  |    3 +-
 doc/misc/sc.texi                    |    2 +-
 doc/misc/semantic.texi              |    2 +-
 doc/misc/ses.texi                   |    2 +-
 doc/misc/sieve.texi                 |    2 +-
 doc/misc/smtpmail.texi              |    2 +-
 doc/misc/speedbar.texi              |    2 +-
 doc/misc/srecode.texi               |    2 +-
 doc/misc/todo-mode.texi             |    2 +-
 doc/misc/tramp.texi                 |    6 ++--
 doc/misc/url.texi                   |    3 +-
 doc/misc/vhdl-mode.texi             |    2 +-
 doc/misc/vip.texi                   |    3 +-
 doc/misc/viper.texi                 |    3 +-
 doc/misc/widget.texi                |    2 +-
 doc/misc/wisent.texi                |    2 +-
 doc/misc/woman.texi                 |    2 +-
 etc/NEWS                            |    3 ++
 lisp/cedet/ede/locate.el            |    2 +-
 lisp/emacs-lisp/bytecomp.el         |   63 ++++++++++------------------------
 lisp/emacs-lisp/eieio-core.el       |    2 +-
 lisp/emacs-lisp/ert.el              |    2 +-
 lisp/emacs-lisp/pcase.el            |   10 +++++
 lisp/emacs-lisp/seq.el              |    1 +
 lisp/files.el                       |   12 ++++--
 lisp/isearch.el                     |    2 +-
 lisp/progmodes/cmacexp.el           |    4 +-
 lisp/progmodes/elisp-mode.el        |   21 +++++++++++
 lisp/progmodes/etags.el             |    9 +++++
 lisp/progmodes/xref.el              |   43 ++++++++++++++++++++++++
 lisp/simple.el                      |    5 ++-
 lisp/whitespace.el                  |   53 +++++++++++++++--------------
 test/automated/cl-lib-tests.el      |   41 ++++++++++++++++++++++
 94 files changed, 311 insertions(+), 211 deletions(-)

diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in
index 9932348..7630780 100644
--- a/doc/emacs/Makefile.in
+++ b/doc/emacs/Makefile.in
@@ -94,6 +94,7 @@ EMACS_XTRA= \
        $(srcdir)/arevert-xtra.texi \
        $(srcdir)/cal-xtra.texi \
        $(srcdir)/dired-xtra.texi \
+       ${srcdir}/docstyle.texi \
        $(srcdir)/picture-xtra.texi \
        $(srcdir)/emerge-xtra.texi \
        $(srcdir)/vc-xtra.texi \
diff --git a/doc/emacs/docstyle.texi b/doc/emacs/docstyle.texi
new file mode 100644
index 0000000..dfd1430
--- /dev/null
+++ b/doc/emacs/docstyle.texi
@@ -0,0 +1,10 @@
address@hidden Emacs documentation style settings
address@hidden UTF-8
address@hidden These two require Texinfo 5.0 or later, so we use the older
address@hidden equivalent @set variables supported in 4.11 and hence
address@hidden
address@hidden on
address@hidden on
address@hidden ignore
address@hidden txicodequoteundirected
address@hidden txicodequotebacktick
diff --git a/doc/emacs/emacs-xtra.texi b/doc/emacs/emacs-xtra.texi
index fcedf73..3490c08 100644
--- a/doc/emacs/emacs-xtra.texi
+++ b/doc/emacs/emacs-xtra.texi
@@ -2,6 +2,7 @@
 @comment %**start of header
 @setfilename ../../info/emacs-xtra.info
 @settitle Specialized Emacs Features
address@hidden docstyle.texi
 @c Merge all functions, variables, and keys into the concept index.
 @syncodeindex fn cp
 @syncodeindex vr cp
@@ -26,8 +27,6 @@ modify this GNU manual.''
 @end quotation
 @end copying
 
address@hidden UTF-8
-
 @dircategory Emacs
 @direntry
 * Emacs-Xtra: (emacs-xtra).    Specialized Emacs features.
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index caec373..30c35a0 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -2,6 +2,7 @@
 
 @setfilename ../../info/emacs.info
 @settitle GNU Emacs Manual
address@hidden docstyle.texi
 
 @c The edition number appears in more than one place in this file
 @c I don't really know what it means...
@@ -44,8 +45,6 @@ developing GNU and promoting software freedom.''
 @end quotation
 @end copying
 
address@hidden UTF-8
-
 @dircategory Emacs
 @direntry
 * Emacs: (emacs).               The extensible self-documenting text editor.
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index a80f942..de381df 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -1,3 +1,4 @@
address@hidden -*- coding: utf-8 -*-
 @c This is part of the Emacs manual.
 @c Copyright (C) 1997, 1999-2015 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
@@ -214,7 +215,7 @@ faces used to display the character, and any overlays 
containing it
 
 @smallexample
              position: 1 of 1 (0%), column: 0
-            character: @^e (displayed as @^e) (codepoint 234, #o352, #xea)
+            character: ê (displayed as ê) (codepoint 234, #o352, #xea)
     preferred charset: unicode (Unicode (ISO10646))
 code point in charset: 0xEA
                script: latin
diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in
index ba63ee8..d1a696c 100644
--- a/doc/lispintro/Makefile.in
+++ b/doc/lispintro/Makefile.in
@@ -24,7 +24,7 @@ srcdir = @srcdir@
 buildinfodir = $(srcdir)/../../info
 # Directory with the (customized) texinfo.tex file.
 texinfodir = $(srcdir)/../misc
-# Directory with emacsver.texi.
+# Directory with docstyle.texi and emacsver.texi.
 emacsdir =  $(srcdir)/../emacs
 
 prefix = @prefix@
@@ -73,7 +73,7 @@ PDF_TARGETS = emacs-lisp-intro.pdf
 PS_TARGETS = emacs-lisp-intro.ps
 
 srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
-  ${emacsdir}/emacsver.texi
+  ${emacsdir}/docstyle.texi ${emacsdir}/emacsver.texi
 
 ## Disable implicit rules.
 %.texi: ;
diff --git a/doc/lispintro/emacs-lisp-intro.texi 
b/doc/lispintro/emacs-lisp-intro.texi
index 46dc41a..83d6022 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -4,7 +4,7 @@
 @c setfilename emacs-lisp-intro.info
 @c sethtmlfilename emacs-lisp-intro.html
 @settitle Programming in Emacs Lisp
address@hidden UTF-8
address@hidden docstyle.texi
 @syncodeindex vr cp
 @syncodeindex fn cp
 @finalout
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in
index 4c62c70..9475917 100644
--- a/doc/lispref/Makefile.in
+++ b/doc/lispref/Makefile.in
@@ -28,7 +28,7 @@ srcdir = @srcdir@
 buildinfodir = $(srcdir)/../../info
 # Directory with the (customized) texinfo.tex file.
 texinfodir = $(srcdir)/../misc
-# Directory with emacsver.texi.
+# Directory with docstyle.tex and emacsver.texi.
 emacsdir =  $(srcdir)/../emacs
 
 prefix = @prefix@
@@ -80,6 +80,7 @@ PS_TARGETS = elisp.ps
 
 srcs = \
   $(srcdir)/elisp.texi \
+  $(emacsdir)/docstyle.texi \
   $(emacsdir)/emacsver.texi \
   $(srcdir)/abbrevs.texi \
   $(srcdir)/anti.texi \
diff --git a/doc/lispref/back.texi b/doc/lispref/back.texi
index 5edfb67..3433277 100644
--- a/doc/lispref/back.texi
+++ b/doc/lispref/back.texi
@@ -6,7 +6,7 @@
 @c %**start of header
 @setfilename back-cover
 @settitle GNU Emacs Lisp Reference Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 .
 @sp 7
diff --git a/doc/lispref/book-spine.texi b/doc/lispref/book-spine.texi
index f58fb77..8c6381f 100644
--- a/doc/lispref/book-spine.texi
+++ b/doc/lispref/book-spine.texi
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename book-spine
 @settitle book-spine
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 
 @include emacsver.texi
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index bf1fc4d..a32c69c 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -18,6 +18,7 @@
 @ifclear volflag
 @settitle GNU Emacs Lisp Reference Manual
 @end ifclear
address@hidden docstyle.texi
 
 @c %**end of header
 
@@ -115,8 +116,6 @@ developing GNU and promoting software freedom.''
 @end quotation
 @end copying
 
address@hidden UTF-8
-
 @dircategory Emacs lisp
 @direntry
 * Elisp: (elisp).               The Emacs Lisp Reference Manual.
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index 7ba45a6..7752bf0 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -1,4 +1,4 @@
address@hidden -*-texinfo-*-
address@hidden -*- mode: texinfo; coding: utf-8 -*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990-1994, 1998-2015 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
@@ -1717,14 +1717,14 @@ they usually will be in a Lisp file (@pxref{Loading 
Non-ASCII}), you
 must type the keys as multibyte too.  For instance, if you use this:
 
 @smallexample
-(global-set-key "@"o" 'my-function) ; bind o-umlaut
+(global-set-key "ö" 'my-function) ; bind o-umlaut
 @end smallexample
 
 @noindent
 or
 
 @smallexample
-(global-set-key ?@"o 'my-function) ; bind o-umlaut
+(global-set-key ?ö 'my-function) ; bind o-umlaut
 @end smallexample
 
 @noindent
diff --git a/doc/lispref/lay-flat.texi b/doc/lispref/lay-flat.texi
index 81755b6..947beec 100644
--- a/doc/lispref/lay-flat.texi
+++ b/doc/lispref/lay-flat.texi
@@ -6,8 +6,8 @@
 @comment %**start of header
 @setfilename inner-covers.info
 @settitle Inner Covers
address@hidden docstyle.texi
 @smallbook
address@hidden UTF-8
 @comment %**end of header
 
 @headings off
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 05d5ca4..28f90d9 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -1,4 +1,4 @@
address@hidden -*-texinfo-*-
address@hidden -*- mode: texinfo; coding: utf-8 -*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1998-1999, 2001-2015 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
@@ -1817,7 +1817,7 @@ original text:
 @example
 @group
 (decode-coding-string "Gr\374ss Gott" 'latin-1)
-     @result{} #("Gr@"uss Gott" 0 9 (charset iso-8859-1))
+     @result{} #("Grüss Gott" 0 9 (charset iso-8859-1))
 @end group
 @end example
 @end defun
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi
index c7d71d2..c4c74ec 100644
--- a/doc/lispref/objects.texi
+++ b/doc/lispref/objects.texi
@@ -1,4 +1,4 @@
address@hidden -*-texinfo-*-
address@hidden -*- mode: texinfo; coding: utf-8 -*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
 @c Foundation, Inc.
@@ -375,13 +375,7 @@ that, Emacs signals an error.
 codes.  A hexadecimal escape sequence consists of a backslash,
 @samp{x}, and the hexadecimal character code.  Thus, @samp{?\x41} is
 the character @kbd{A}, @samp{?\x1} is the character @kbd{C-a}, and
address@hidden is the character
address@hidden
address@hidden@`a}.
address@hidden iftex
address@hidden
address@hidden with grave accent.
address@hidden ifnottex
address@hidden is the character @kbd{à} (@kbd{a} with grave accent).
 You can use any number of hex digits, so you can represent any
 character code in this way.
 
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in
index 1f21f82..aa35002 100644
--- a/doc/misc/Makefile.in
+++ b/doc/misc/Makefile.in
@@ -29,7 +29,7 @@ address@hidden@
 ## In a tarfile of Emacs, the Info files should be up to date.
 buildinfodir = $(srcdir)/../../info
 
-## Directory with emacsver.texi.
+## Directory with docstyle.texi and emacsver.texi.
 emacsdir = $(srcdir)/../emacs
 
 prefix = @prefix@
@@ -108,6 +108,7 @@ ENVADD = 
$(AM_V_GEN)TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" \
          MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
 
 gfdl = ${srcdir}/doclicense.texi
+style = ${emacsdir}/docstyle.texi
 
 .PHONY: info dvi html pdf ps echo-info $(INFO_TARGETS)
 ## Prevent implicit rule triggering for foo.info.
@@ -140,7 +141,7 @@ ${buildinfodir}:
 
 EXTRA_OPTS =
 
-${buildinfodir}/%.info: ${srcdir}/%.texi ${gfdl} | ${buildinfodir}
+${buildinfodir}/%.info: ${srcdir}/%.texi ${gfdl} ${style} | ${buildinfodir}
        $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) $(EXTRA_OPTS) \
          -o $@ $<
 
@@ -155,13 +156,13 @@ info.info: $(buildinfodir)/info.info
 $(foreach ifile,$(filter-out info.info,$(INFO_TARGETS)),$(eval $(call 
info_template,$(ifile))))
 
 
-%.dvi: ${srcdir}/%.texi ${gfdl}
+%.dvi: ${srcdir}/%.texi ${gfdl} ${style}
        $(ENVADD) $(TEXI2DVI) $<
 
-%.pdf: ${srcdir}/%.texi ${gfdl}
+%.pdf: ${srcdir}/%.texi ${gfdl} ${style}
        $(ENVADD) $(TEXI2PDF) $<
 
-%.html: ${srcdir}/%.texi ${gfdl}
+%.html: ${srcdir}/%.texi ${gfdl} ${style}
        $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) $(EXTRA_OPTS) \
          -o $@ $<
 
@@ -184,12 +185,13 @@ $(buildinfodir)/semantic.info semantic.dvi semantic.pdf 
semantic.html: ${srcdir}
 
 
 ## Please can we just rename cc-mode.texi to ccmode.texi...
-${buildinfodir}/ccmode.info: ${srcdir}/cc-mode.texi ${gfdl} | ${buildinfodir}
+${buildinfodir}/ccmode.info: \
+  ${srcdir}/cc-mode.texi ${gfdl} ${style} | ${buildinfodir}
        $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
 
 ## efaq, efaq_w32 do not depend on gfdl.
 ## Maybe we can use .SECONDEXPANSION for this.
-${buildinfodir}/efaq%.info: ${srcdir}/efaq%.texi | ${buildinfodir}
+${buildinfodir}/efaq%.info: ${srcdir}/efaq%.texi ${style} | ${buildinfodir}
        $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
 
 efaq%.dvi: ${srcdir}/efaq%.texi
@@ -203,7 +205,7 @@ efaq%.html: ${srcdir}/efaq%.texi
 
 ${buildinfodir}/emacs-mime.info emacs-mime.html: EXTRA_OPTS = --enable-encoding
 
-gnus_deps = ${srcdir}/gnus.texi ${srcdir}/gnus-faq.texi ${gfdl}
+gnus_deps = ${srcdir}/gnus.texi ${srcdir}/gnus-faq.texi ${gfdl} ${style}
 gnus.dvi: $(gnus_deps)
        sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmpdvi.texi
        $(ENVADD) $(TEXI2DVI) gnustmpdvi.texi
diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi
index 539e2b2..e84ef6e 100644
--- a/doc/misc/ada-mode.texi
+++ b/doc/misc/ada-mode.texi
@@ -1,7 +1,7 @@
 \input texinfo  @c -*-texinfo-*-
 @setfilename ../../info/ada-mode.info
 @settitle Ada Mode
address@hidden UTF-8
address@hidden docstyle.texi
 
 @copying
 Copyright @copyright{} 1999--2015 Free Software Foundation, Inc.
diff --git a/doc/misc/auth.texi b/doc/misc/auth.texi
index 177f7cc..082dc1d 100644
--- a/doc/misc/auth.texi
+++ b/doc/misc/auth.texi
@@ -6,7 +6,7 @@
 
 @setfilename ../../info/auth.info
 @settitle Emacs auth-source Library @value{VERSION}
address@hidden UTF-8
address@hidden docstyle.texi
 
 @copying
 This file describes the Emacs auth-source library.
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi
index 51880d8..acc98ed 100644
--- a/doc/misc/autotype.texi
+++ b/doc/misc/autotype.texi
@@ -5,7 +5,7 @@
 @c @node Autotypist, Picture, Abbrevs, Top
 @c @chapter Features for Automatic Typing
 @settitle Features for Automatic Typing
address@hidden UTF-8
address@hidden docstyle.texi
 @c  @cindex text
 @c  @cindex selfinserting text
 @c  @cindex autotypist
diff --git a/doc/misc/bovine.texi b/doc/misc/bovine.texi
index cd2e736..ec11aa8 100644
--- a/doc/misc/bovine.texi
+++ b/doc/misc/bovine.texi
@@ -4,7 +4,7 @@
 @set TITLE  Bovine parser development
 @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim
 @settitle @value{TITLE}
address@hidden UTF-8
address@hidden docstyle.texi
 
 @c *************************************************************************
 @c @ Header
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index 84eb274..034f42b 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -1,10 +1,10 @@
-\input texinfo                  @c -*-texinfo-*-
+\input texinfo @c -*- mode: texinfo; coding: utf-8 -*-
 @comment %**start of header (This is for running Texinfo on a region.)
 @c smallbook
 @setfilename ../../info/calc.info
 @c [title]
 @settitle GNU Emacs Calc Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @setchapternewpage odd
 @comment %**end of header (This is for running Texinfo on a region.)
 
@@ -1203,9 +1203,7 @@ algebra system for microcomputers.
 Many people have contributed to Calc by reporting bugs and suggesting
 features, large and small.  A few deserve special mention:  Tim Peters,
 who helped develop the ideas that led to the selection commands, rewrite
-rules, and many other algebra features;
address@hidden Fran\c{c}ois
address@hidden Francois
+rules, and many other algebra features; François
 Pinard, who contributed an early prototype of the Calc Summary appendix
 as well as providing valuable suggestions in many other areas of Calc;
 Carl Witty, whose eagle eyes discovered many typographical and factual
@@ -7218,9 +7216,7 @@ so that the mapping operation works; no prime factor will 
ever be
 zero, so adding zeros on the left and right is safe.  From then on
 the job is pretty straightforward.
 
-Incidentally, Calc provides the
address@hidden @dfn{M@"obius} @math{\mu}
address@hidden @dfn{Moebius mu}
+Incidentally, Calc provides the @dfn{Möbius μ}
 function which is zero if and only if its argument is square-free.  It
 would be a much more convenient way to do the above test in practice.
 
@@ -8098,7 +8094,7 @@ argument is exactly what we want to map over:
 @end smallexample
 
 @noindent
-Et address@hidden, September 13, 1991 is a Friday.
+Et voilà, September 13, 1991 is a Friday.
 
 @smallexample
 @group
@@ -19304,9 +19300,7 @@ are relatively prime to @expr{n}.
 @pindex calc-moebius
 @tindex moebius
 The @kbd{k m} (@code{calc-moebius}) address@hidden command computes the
address@hidden M@"obius @math{\mu}
address@hidden Moebius ``mu''
-function.  If the input number is a product of @expr{k}
+Möbius μ function.  If the input number is a product of @expr{k}
 distinct factors, this is @expr{(-1)^k}.  If the input number has any
 duplicate factors (i.e., can be divided by the same prime more than once),
 the result is zero.
@@ -27698,9 +27692,7 @@ the keyboard macro @kbd{' tri($) @key{RET}} to make a 
command that applies
 @code{tri} to the value on the top of the stack.  @xref{Programming}.
 
 @cindex Quaternions
-The following rule set, contributed by
address@hidden Fran\c cois
address@hidden Francois
+The following rule set, contributed by François
 Pinard, implements @dfn{quaternions}, a generalization of the concept of
 complex numbers.  Quaternions have four components, and are here
 represented by function calls @samp{quat(@var{w}, address@hidden, @var{y},
@@ -28048,7 +28040,7 @@ based on a fundamental physical process (although there 
are efforts to
 change this) is the kilogram, which was originally defined as the mass
 of one liter of water, but is now defined as the mass of the
 international prototype of the kilogram (IPK), a cylinder of platinum-iridium
-kept at the Bureau international des poids et mesures in address@hidden,
+kept at the Bureau international des poids et mesures in Sèvres,
 France.  (There are several copies of the IPK throughout the world.)
 The British imperial units, once defined in terms of physical objects,
 were redefined in 1963 in terms of SI units.  The US customary units,
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index b86df18..5ad29cd 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -83,7 +83,7 @@ the second with them pointing to the XEmacs manuals.
 
 @setfilename  ../../info/ccmode.info
 @settitle     CC Mode Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @footnotestyle end
 
 @c The following four macros generate the filenames and titles of the
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index 00e47b9..d7b3f4a 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -1,7 +1,7 @@
 \input texinfo    @c -*-texinfo-*-
 @setfilename ../../info/cl.info
 @settitle Common Lisp Extensions
address@hidden UTF-8
address@hidden docstyle.texi
 @include emacsver.texi
 
 @copying
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi
index da18236..5dd8bf2 100644
--- a/doc/misc/dbus.texi
+++ b/doc/misc/dbus.texi
@@ -2,7 +2,7 @@
 @setfilename ../../info/dbus.info
 @c %**start of header
 @settitle Using of D-Bus
address@hidden UTF-8
address@hidden docstyle.texi
 @c @setchapternewpage odd
 @c %**end of header
 
diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi
index 90fb511..e6370f3 100644
--- a/doc/misc/dired-x.texi
+++ b/doc/misc/dired-x.texi
@@ -9,7 +9,7 @@
 @comment %**start of header (This is for running Texinfo on a region.)
 @setfilename ../../info/dired-x.info
 @settitle Dired Extra User's Manual
address@hidden UTF-8
address@hidden docstyle.texi
 
 @include emacsver.texi
 
diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi
index 1b24007..74183a4 100644
--- a/doc/misc/ebrowse.texi
+++ b/doc/misc/ebrowse.texi
@@ -3,7 +3,7 @@
 @comment %**start of header
 @setfilename ../../info/ebrowse.info
 @settitle A Class Browser for C++
address@hidden UTF-8
address@hidden docstyle.texi
 @setchapternewpage odd
 @syncodeindex fn cp
 @comment %**end of header
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi
index dfe22b7..7a824ac 100644
--- a/doc/misc/ede.texi
+++ b/doc/misc/ede.texi
@@ -1,7 +1,7 @@
 \input texinfo
 @setfilename ../../info/ede.info
 @settitle Emacs Development Environment
address@hidden UTF-8
address@hidden docstyle.texi
 
 @copying
 This file describes EDE, the Emacs Development Environment.
diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi
index de54f28..552e3be 100644
--- a/doc/misc/ediff.texi
+++ b/doc/misc/ediff.texi
@@ -1,4 +1,4 @@
-\input texinfo                  @c -*-texinfo-*-
+\input texinfo @c -*- mode: texinfo; coding: utf-8 -*-
 @c documentation for Ediff
 @c Written by Michael Kifer
 
@@ -10,7 +10,7 @@
 @setfilename ../../info/ediff.info
 
 @settitle Ediff User's Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @synindex vr cp
 @synindex fn cp
 @synindex pg cp
@@ -2485,7 +2485,7 @@ Ray Nickson (nickson at cs.uq.oz.au),
 Dan Nicolaescu (dann at ics.uci.edu),
 David Petchey (petchey_david at jpmorgan.com),
 Benjamin Pierce (benjamin.pierce at cl.cam.ac.uk),
-Francois Pinard (pinard at iro.umontreal.ca),
+François Pinard (pinard at iro.umontreal.ca),
 Tibor Polgar (tlp00 at spg.amdahl.com),
 David Prince (dave0d at fegs.co.uk),
 Paul Raines (raines at slac.stanford.edu),
diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi
index c72aca2..91f36e6 100644
--- a/doc/misc/edt.texi
+++ b/doc/misc/edt.texi
@@ -1,7 +1,7 @@
 \input texinfo
 @setfilename ../../info/edt.info
 @settitle EDT Emulation for Emacs
address@hidden UTF-8
address@hidden docstyle.texi
 
 @copying
 This file documents the EDT emulation package for Emacs.
diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi
index 566a6d7..f8a188d 100644
--- a/doc/misc/efaq-w32.texi
+++ b/doc/misc/efaq-w32.texi
@@ -1,6 +1,7 @@
 \input texinfo    @c -*-coding:utf-8 -*-
 @setfilename ../../info/efaq-w32.info
 @settitle GNU Emacs FAQ For MS Windows
address@hidden docstyle.texi
 @setchapternewpage odd
 @syncodeindex pg cp
 @syncodeindex ky cp
@@ -13,9 +14,6 @@ Answers to Frequently asked Questions about using Emacs on 
Microsoft Windows.
 
 @include emacsver.texi
 
address@hidden utf-8
address@hidden en
-
 @copying
 Copyright @copyright{} 2008, 2010-2015 Free Software Foundation, Inc.
 
diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi
index 9fc8cfc..3e9109d 100644
--- a/doc/misc/efaq.texi
+++ b/doc/misc/efaq.texi
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename ../../info/efaq.info
 @settitle GNU Emacs FAQ
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 
 @include emacsver.texi
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi
index 5d1a8cf..fb4e147 100644
--- a/doc/misc/eieio.texi
+++ b/doc/misc/eieio.texi
@@ -3,7 +3,7 @@
 @set TITLE Enhanced Implementation of Emacs Interpreted Objects
 @set AUTHOR Eric M. Ludlam
 @settitle @value{TITLE}
address@hidden UTF-8
address@hidden docstyle.texi
 
 @c *************************************************************************
 @c @ Header
diff --git a/doc/misc/emacs-gnutls.texi b/doc/misc/emacs-gnutls.texi
index 25bb9d0..4f6ef01 100644
--- a/doc/misc/emacs-gnutls.texi
+++ b/doc/misc/emacs-gnutls.texi
@@ -4,7 +4,7 @@
 
 @setfilename ../../info/emacs-gnutls.info
 @settitle Emacs GnuTLS Integration @value{VERSION}
address@hidden UTF-8
address@hidden docstyle.texi
 
 @copying
 This file describes the Emacs GnuTLS integration.
diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi
index 0147db3..3b3df0f 100644
--- a/doc/misc/emacs-mime.texi
+++ b/doc/misc/emacs-mime.texi
@@ -4,6 +4,7 @@
 
 @setfilename ../../info/emacs-mime.info
 @settitle Emacs MIME Manual
address@hidden docstyle.texi
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -27,7 +28,6 @@ modify this GNU manual.''
 @end copying
 
 @c Node ``Interface Functions'' uses non-ASCII characters
address@hidden UTF-8
 
 @dircategory Emacs lisp libraries
 @direntry
diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi
index 8de8604..6830ba7 100644
--- a/doc/misc/epa.texi
+++ b/doc/misc/epa.texi
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename ../../info/epa.info
 @settitle EasyPG Assistant User's Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 
 @set VERSION 1.0.0
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi
index 9cdfe77..9e570da 100644
--- a/doc/misc/erc.texi
+++ b/doc/misc/erc.texi
@@ -2,9 +2,9 @@
 @c %**start of header
 @setfilename ../../info/erc.info
 @settitle ERC Manual
address@hidden docstyle.texi
 @syncodeindex fn cp
 @include emacsver.texi
address@hidden UTF-8
 @c %**end of header
 
 @copying
diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi
index 710ebbb..3192e4b 100644
--- a/doc/misc/ert.texi
+++ b/doc/misc/ert.texi
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename ../../info/ert.info
 @settitle Emacs Lisp Regression Testing
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 
 @dircategory Emacs misc features
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index b2fbd7a..60a1af0 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -2,9 +2,9 @@
 @c %**start of header
 @setfilename ../../info/eshell.info
 @settitle Eshell: The Emacs Shell
address@hidden docstyle.texi
 @defindex cm
 @synindex vr fn
address@hidden UTF-8
 @c %**end of header
 
 @copying
diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi
index 064f570..33c9a0e 100644
--- a/doc/misc/eudc.texi
+++ b/doc/misc/eudc.texi
@@ -2,8 +2,8 @@
 @c %**start of header
 @setfilename ../../info/eudc.info
 @settitle Emacs Unified Directory Client (EUDC) Manual
address@hidden docstyle.texi
 @afourpaper
address@hidden UTF-8
 @syncodeindex fn cp
 @syncodeindex vr cp
 @c %**end of header
diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi
index c7f84b5..f1347b7 100644
--- a/doc/misc/eww.texi
+++ b/doc/misc/eww.texi
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename ../../info/eww.info
 @settitle Emacs Web Wowser
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 
 @copying
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi
index 31fa1ab..6c924cf 100644
--- a/doc/misc/flymake.texi
+++ b/doc/misc/flymake.texi
@@ -4,8 +4,8 @@
 @set VERSION 0.3
 @set UPDATED April 2004
 @settitle GNU Flymake @value{VERSION}
address@hidden docstyle.texi
 @syncodeindex pg cp
address@hidden UTF-8
 @comment %**end of header
 
 @copying
diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi
index ab284bd..487cebd 100644
--- a/doc/misc/forms.texi
+++ b/doc/misc/forms.texi
@@ -5,6 +5,7 @@
 @comment %**start of header (This is for running Texinfo on a region.)
 @setfilename ../../info/forms.info
 @settitle Forms Mode User's Manual
address@hidden docstyle.texi
 @syncodeindex vr cp
 @syncodeindex fn cp
 @syncodeindex ky cp
@@ -14,7 +15,6 @@
 @end iftex
 @c      @smallbook
 @comment %**end of header (This is for running Texinfo on a region.)
address@hidden UTF-8
 
 @copying
 This file documents Forms mode, a form-editing major mode for GNU Emacs.
diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi
index bbead6b..a3be0ed 100644
--- a/doc/misc/gnus-coding.texi
+++ b/doc/misc/gnus-coding.texi
@@ -2,7 +2,7 @@
 
 @setfilename gnus-coding.info
 @settitle Gnus Coding Style and Maintenance Guide
address@hidden UTF-8
address@hidden docstyle.texi
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex pg cp
diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi
index 8126827..76d1a52 100644
--- a/doc/misc/gnus-faq.texi
+++ b/doc/misc/gnus-faq.texi
@@ -5,7 +5,7 @@
 @c
 @c @setfilename gnus-faq.info
 @c @settitle Frequently Asked Questions
address@hidden @documentencoding UTF-8
address@hidden @include docstyle.texi
 @c %**end of header
 @c
 
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 97e56e1..d801031 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -4,12 +4,11 @@
 
 @setfilename ../../info/gnus.info
 @settitle Gnus Manual
address@hidden docstyle.texi
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex pg cp
 
address@hidden UTF-8
-
 @copying
 Copyright @copyright{} 1995--2015 Free Software Foundation, Inc.
 
@@ -9083,7 +9082,7 @@ CRs into LF (this takes care of Mac line endings)
 Treat quoted-printable (@code{gnus-article-de-quoted-unreadable}).
 Quoted-Printable is one common @acronym{MIME} encoding employed when
 sending address@hidden (i.e., 8-bit) articles.  It typically
-makes strings like @samp{d@'address@hidden vu} look like @samp{d=E9j=E0 vu},
+makes strings like @samp{déjà vu} look like @samp{d=E9j=E0 vu},
 which doesn't look very readable to me.  Note that this is usually
 done automatically by Gnus if the message in question has a
 @code{Content-Transfer-Encoding} header that says that this encoding
@@ -16968,7 +16967,7 @@ group as read.
 
 If the search engine changes its output substantially, @code{nnweb}
 won't be able to parse it and will fail.  One could hardly fault the Web
-providers if they were to do this---their @emph{raison d'@^etre} is to
+providers if they were to do this---their @emph{raison d'être} is to
 make money off of advertisements, not to provide services to the
 community.  Since @code{nnweb} washes the ads off all the articles, one
 might think that the providers might be somewhat miffed.  We'll see.
@@ -26815,7 +26814,7 @@ David Moore---rewrite of @file{nnvirtual.el} and many 
other things.
 Kevin Davidson---came up with the name @dfn{ding}, so blame him.
 
 @item
-Fran@,{c}ois Pinard---many, many interesting and thorough bug reports, as
+François Pinard---many, many interesting and thorough bug reports, as
 well as autoconf support.
 
 @end itemize
@@ -26923,7 +26922,7 @@ Gunnar Horrigmo,
 Richard Hoskins,
 Brad Howes,
 Miguel de Icaza,
-Fran@,{c}ois Felix Ingrand,
+François Felix Ingrand,
 Tatsuya Ichikawa, @c Ichikawa
 Ishikawa Ichiro, @c Ishikawa
 Lee Iverson,
diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi
index 8140b43..b14f2d3 100644
--- a/doc/misc/htmlfontify.texi
+++ b/doc/misc/htmlfontify.texi
@@ -2,8 +2,8 @@
 @comment %**start of header
 @setfilename ../../info/htmlfontify.info
 @settitle Htmlfontify User Manual
address@hidden docstyle.texi
 @exampleindent 2
address@hidden UTF-8
 @comment %**end of header
 
 @copying
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi
index ca449e4..7fe8f51 100644
--- a/doc/misc/idlwave.texi
+++ b/doc/misc/idlwave.texi
@@ -2,6 +2,7 @@
 @c %**start of header
 @setfilename ../../info/idlwave.info
 @settitle IDLWAVE User Manual
address@hidden docstyle.texi
 @synindex ky cp
 @syncodeindex vr cp
 @syncodeindex fn cp
@@ -12,7 +13,6 @@
 @set DATE April, 2007
 @set AUTHOR J.D. Smith & Carsten Dominik
 @set MAINTAINER J.D. Smith
address@hidden UTF-8
 @c %**end of header
 @finalout
 
diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi
index a80620f..afc3238 100644
--- a/doc/misc/ido.texi
+++ b/doc/misc/ido.texi
@@ -1,7 +1,7 @@
 \input texinfo    @c -*-texinfo-*-
 @setfilename ../../info/ido.info
 @settitle Interactive Do
address@hidden UTF-8
address@hidden docstyle.texi
 @include emacsver.texi
 
 @copying
diff --git a/doc/misc/info.texi b/doc/misc/info.texi
index 7337b46..1439d30 100644
--- a/doc/misc/info.texi
+++ b/doc/misc/info.texi
@@ -5,10 +5,10 @@
 @comment %**start of header
 @setfilename info.info
 @settitle Info
address@hidden docstyle.texi
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex ky cp
address@hidden UTF-8
 @comment %**end of header
 
 @copying
diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi
index 16f4902..ef253a0 100644
--- a/doc/misc/mairix-el.texi
+++ b/doc/misc/mairix-el.texi
@@ -2,8 +2,7 @@
 
 @setfilename ../../info/mairix-el.info
 @settitle Emacs Interface for Mairix
-
address@hidden UTF-8
address@hidden docstyle.texi
 
 @copying
 Copyright @copyright{} 2008--2015 Free Software Foundation, Inc.
diff --git a/doc/misc/message.texi b/doc/misc/message.texi
index 884d829..d63f7e6 100644
--- a/doc/misc/message.texi
+++ b/doc/misc/message.texi
@@ -4,7 +4,7 @@
 
 @setfilename ../../info/message.info
 @settitle Message Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi
index fc2303c..8406a80 100644
--- a/doc/misc/mh-e.texi
+++ b/doc/misc/mh-e.texi
@@ -5,7 +5,7 @@
 @c %**start of header
 @setfilename ../../info/mh-e.info
 @settitle The MH-E Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 
 @c Version of the software and manual.
diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi
index dfabb92..9f7b6df 100644
--- a/doc/misc/newsticker.texi
+++ b/doc/misc/newsticker.texi
@@ -4,10 +4,10 @@
 @include emacsver.texi
 @set VERSION @value{EMACSVER}
 @settitle Newsticker @value{VERSION}
address@hidden docstyle.texi
 @syncodeindex vr cp
 @syncodeindex fn cp
 @syncodeindex pg cp
address@hidden UTF-8
 @comment %**end of header
 
 @copying
diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi
index d213355..e87e6a0 100644
--- a/doc/misc/nxml-mode.texi
+++ b/doc/misc/nxml-mode.texi
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename ../../info/nxml-mode.info
 @settitle nXML Mode
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 
 @copying
diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi
index 3199ec4..34499c2 100644
--- a/doc/misc/octave-mode.texi
+++ b/doc/misc/octave-mode.texi
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename ../../info/octave-mode.info
 @settitle Octave Mode
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 
 @copying
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index a013632..71572f7 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -2,6 +2,7 @@
 @c %**start of header
 @setfilename ../../info/org.info
 @settitle The Org Manual
address@hidden docstyle.texi
 
 @set VERSION 8.2.9
 
@@ -11,7 +12,6 @@
 @set MAINTAINER Carsten Dominik
 @set MAINTAINEREMAIL @email{carsten at orgmode dot org}
 @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the 
maintainer}
address@hidden UTF-8
 @c %**end of header
 @finalout
 
@@ -18487,7 +18487,7 @@ enabled source code highlighting in Gnus.
 Max-Planck-Institute for Neurology.  He also inspired the creation of a
 concept index for HTML export.
 @item
address@hidden@"urgen Vollmer} contributed code generating the table of contents
address@hidden Vollmer} contributed code generating the table of contents
 in HTML output.
 @item
 @i{Samuel Wales} has provided important feedback and bug reports.
diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi
index 6970c69..dd2ba38 100644
--- a/doc/misc/pcl-cvs.texi
+++ b/doc/misc/pcl-cvs.texi
@@ -2,8 +2,8 @@
 @c %**start of header
 @setfilename ../../info/pcl-cvs.info
 @settitle PCL-CVS---Emacs Front-End to CVS
address@hidden docstyle.texi
 @syncodeindex vr fn
address@hidden UTF-8
 @c %**end of header
 
 @copying
diff --git a/doc/misc/pgg.texi b/doc/misc/pgg.texi
index a46c0fb..49a2cfd 100644
--- a/doc/misc/pgg.texi
+++ b/doc/misc/pgg.texi
@@ -6,8 +6,7 @@
 
 @set VERSION 0.1
 @settitle PGG @value{VERSION}
-
address@hidden UTF-8
address@hidden docstyle.texi
 
 @copying
 This file describes PGG @value{VERSION}, an Emacs interface to various
diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi
index 646122b..a707ba5 100644
--- a/doc/misc/rcirc.texi
+++ b/doc/misc/rcirc.texi
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename ../../info/rcirc.info
 @settitle rcirc Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 
 @copying
diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi
index 6488ae2..726ec4e 100644
--- a/doc/misc/reftex.texi
+++ b/doc/misc/reftex.texi
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename ../../info/reftex.info
 @settitle RefTeX User Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @synindex ky cp
 @syncodeindex vr cp
 @syncodeindex fn cp
diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi
index d64d0ea..d5a03b6 100644
--- a/doc/misc/remember.texi
+++ b/doc/misc/remember.texi
@@ -2,8 +2,8 @@
 @c %**start of header
 @setfilename ../../info/remember.info
 @settitle Remember Manual
address@hidden docstyle.texi
 @syncodeindex fn cp
address@hidden UTF-8
 @c %**end of header
 
 @copying
diff --git a/doc/misc/sasl.texi b/doc/misc/sasl.texi
index f6f0a98..86bcd1a 100644
--- a/doc/misc/sasl.texi
+++ b/doc/misc/sasl.texi
@@ -6,8 +6,7 @@
 
 @set VERSION 0.2
 @settitle Emacs SASL Library @value{VERSION}
-
address@hidden UTF-8
address@hidden docstyle.texi
 
 @copying
 This file describes the Emacs SASL library, version @value{VERSION}.
diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi
index a851fa2..ba36672 100644
--- a/doc/misc/sc.texi
+++ b/doc/misc/sc.texi
@@ -3,7 +3,7 @@
 @comment %**start of header (This is for running Texinfo on a region.)
 @setfilename ../../info/sc.info
 @settitle Supercite User's Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @iftex
 @finalout
 @end iftex
diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi
index 5f4a782..71b81e7 100644
--- a/doc/misc/semantic.texi
+++ b/doc/misc/semantic.texi
@@ -3,7 +3,7 @@
 @set TITLE  Semantic Manual
 @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim
 @settitle @value{TITLE}
address@hidden UTF-8
address@hidden docstyle.texi
 
 @c *************************************************************************
 @c @ Header
diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi
index 0685050..7017429 100644
--- a/doc/misc/ses.texi
+++ b/doc/misc/ses.texi
@@ -2,11 +2,11 @@
 @c %**start of header
 @setfilename ../../info/ses.info
 @settitle @acronym{SES}: Simple Emacs Spreadsheet
address@hidden docstyle.texi
 @setchapternewpage off
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex ky cp
address@hidden UTF-8
 @c %**end of header
 
 @copying
diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi
index ca965e6..e9cd9ac 100644
--- a/doc/misc/sieve.texi
+++ b/doc/misc/sieve.texi
@@ -4,7 +4,7 @@
 
 @setfilename ../../info/sieve.info
 @settitle Emacs Sieve Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi
index 314e6a0..2d4e7f9 100644
--- a/doc/misc/smtpmail.texi
+++ b/doc/misc/smtpmail.texi
@@ -1,7 +1,7 @@
 \input texinfo  @c -*-texinfo-*-
 @setfilename ../../info/smtpmail.info
 @settitle Emacs SMTP Library
address@hidden UTF-8
address@hidden docstyle.texi
 @syncodeindex vr fn
 @copying
 Copyright @copyright{} 2003--2015 Free Software Foundation, Inc.
diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi
index da507db..6ad369c 100644
--- a/doc/misc/speedbar.texi
+++ b/doc/misc/speedbar.texi
@@ -1,7 +1,7 @@
 \input texinfo   @c -*-texinfo-*-
 @setfilename ../../info/speedbar.info
 @settitle Speedbar: File/Tag summarizing utility
address@hidden UTF-8
address@hidden docstyle.texi
 @syncodeindex fn cp
 
 @copying
diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi
index b58cc4a..98fab5c 100644
--- a/doc/misc/srecode.texi
+++ b/doc/misc/srecode.texi
@@ -4,7 +4,7 @@
 @set TITLE SRecoder Manual
 @set AUTHOR Eric M. Ludlam
 @settitle @value{TITLE}
address@hidden UTF-8
address@hidden docstyle.texi
 
 @c Merge all indexes into a single index for now.
 @c We can always separate them later into two or more as needed.
diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi
index 3032da3..69656da 100644
--- a/doc/misc/todo-mode.texi
+++ b/doc/misc/todo-mode.texi
@@ -2,10 +2,10 @@
 @c %**start of header
 @setfilename ../../info/todo-mode.info
 @settitle Todo Mode User Manual
address@hidden docstyle.texi
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex ky cp
address@hidden UTF-8
 @c %**end of header
 
 @copying
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 1875a70..ece851d 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -2,7 +2,7 @@
 @setfilename ../../info/tramp.info
 @c %**start of header
 @settitle TRAMP User Manual
address@hidden UTF-8
address@hidden docstyle.texi
 @c %**end of header
 
 @c This is *so* much nicer :)
@@ -91,7 +91,7 @@ copy and modify this GNU manual.''
 @titlepage
 @title @value{tramp} version @value{trampver} User Manual
 @author by Daniel Pittman
address@hidden based on documentation by Kai address@hidden
address@hidden based on documentation by Kai Großjohann
 @page
 @insertcopying
 @end titlepage
@@ -1935,7 +1935,7 @@ of your (local or remote) host, you might need to adapt 
this.  Example:
           "password" "Password"
           ;; Deutsch
           "passwort" "Passwort"
-          ;; Fran@,{c}ais
+          ;; Français
           "mot de passe" "Mot de passe") t)
       ".*:\0? *"))
 @end lisp
diff --git a/doc/misc/url.texi b/doc/misc/url.texi
index 8c4afbe..d94b19f 100644
--- a/doc/misc/url.texi
+++ b/doc/misc/url.texi
@@ -1,8 +1,7 @@
 \input texinfo
 @setfilename ../../info/url.info
 @settitle URL Programmer's Manual
-
address@hidden UTF-8
address@hidden docstyle.texi
 
 @iftex
 @c @finalout
diff --git a/doc/misc/vhdl-mode.texi b/doc/misc/vhdl-mode.texi
index 829c4f6..b8b3850 100644
--- a/doc/misc/vhdl-mode.texi
+++ b/doc/misc/vhdl-mode.texi
@@ -2,7 +2,7 @@
 
 @setfilename ../../info/vhdl-mode.info
 @settitle VHDL Mode, an Emacs mode for editing VHDL code
address@hidden UTF-8
address@hidden docstyle.texi
 
 @c Adapted from the VHDL Mode texinfo manual version 2 by Rodney J. Whitby.
 @c Adapted from the CC Mode texinfo manual by Barry A. Warsaw.
diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi
index 250ced9..4680a09 100644
--- a/doc/misc/vip.texi
+++ b/doc/misc/vip.texi
@@ -1,8 +1,7 @@
 \input texinfo
 @setfilename ../../info/vip.info
 @settitle VIP
-
address@hidden UTF-8
address@hidden docstyle.texi
 
 @copying
 Copyright @copyright{} 1987, 2001--2015 Free Software Foundation, Inc.
diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi
index cfaf4e6..f449e3b 100644
--- a/doc/misc/viper.texi
+++ b/doc/misc/viper.texi
@@ -5,8 +5,7 @@
 @comment @setfilename viper
 @comment @setfilename viper.info
 @setfilename ../../info/viper.info
-
address@hidden UTF-8
address@hidden docstyle.texi
 
 @copying
 Copyright @copyright{} 1995--1997, 2001--2015 Free Software Foundation, Inc.
diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi
index 1942b79..ea78550 100644
--- a/doc/misc/widget.texi
+++ b/doc/misc/widget.texi
@@ -2,10 +2,10 @@
 @c %**start of header
 @setfilename ../../info/widget.info
 @settitle The Emacs Widget Library
address@hidden docstyle.texi
 @syncodeindex fn cp
 @syncodeindex vr cp
 @syncodeindex ky cp
address@hidden UTF-8
 @c %**end of header
 
 @copying
diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi
index 16b5d12..7bcc46d 100644
--- a/doc/misc/wisent.texi
+++ b/doc/misc/wisent.texi
@@ -4,6 +4,7 @@
 @set TITLE  Wisent Parser Development
 @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim
 @settitle @value{TITLE}
address@hidden docstyle.texi
 
 @c *************************************************************************
 @c @ Header
@@ -20,7 +21,6 @@
 @c @footnotestyle separate
 @c @paragraphindent 2
 @c @@smallbook
address@hidden UTF-8
 @c %**end of header
 
 @copying
diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi
index a935bed..f1286fc 100644
--- a/doc/misc/woman.texi
+++ b/doc/misc/woman.texi
@@ -2,13 +2,13 @@
 @c %**start of header
 @setfilename ../../info/woman.info
 @settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man''
address@hidden docstyle.texi
 @include emacsver.texi
 @afourpaper
 @c With different size paper the printed page breaks will need attention!
 @c Look for @page and @need commands.
 @setchapternewpage off
 @paragraphindent 0
address@hidden UTF-8
 @c %**end of header
 
 @copying
diff --git a/etc/NEWS b/etc/NEWS
index 5046d30..7497652 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -817,6 +817,9 @@ name.  The variable `system-name' is now obsolete.
 +++
 ** Function `write-region' no longer outputs "Wrote FILE" in batch mode.
 
+** If `pwd' is called with a prefix argument, insert the current default
+directory at point.
+
 ---
 ** New utilities in subr-x.el:
 *** New macros `if-let' and `when-let' allow defining bindings and to
diff --git a/lisp/cedet/ede/locate.el b/lisp/cedet/ede/locate.el
index 2ff8341..a076c46 100644
--- a/lisp/cedet/ede/locate.el
+++ b/lisp/cedet/ede/locate.el
@@ -353,7 +353,7 @@ that created this EDE locate object."
 
 (cl-defmethod ede-locate-create/update-root-database
   ((loc (subclass ede-locate-cscope)) root)
-  "Create or update the GNU Global database for the current project."
+  "Create or update the Cscope database for the current project."
   (require 'cedet-cscope)
   (cedet-cscope-create/update-database root))
 
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index d732c73..f0d2ee4 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -979,16 +979,6 @@ Each function's symbol gets added to 
`byte-compile-noruntime-functions'."
           (lambda (x) (if (symbolp x) (list 'prin1-to-string x) x))
           args))))))
 
-(defvar byte-compile--interactive nil
-  "Determine if `byte-compile--message' uses the minibuffer.")
-
-(defun byte-compile--message (format &rest args)
-  "Like `message', except sometimes don't print to minibuffer.
-If the variable `byte-compile--interactive' is nil, the message
-is not displayed on the minibuffer."
-  (let ((inhibit-message (not byte-compile--interactive)))
-    (apply #'message format args)))
-
 ;; Log something that isn't a warning.
 (defun byte-compile-log-1 (string)
   (with-current-buffer byte-compile-log-buffer
@@ -996,7 +986,7 @@ is not displayed on the minibuffer."
       (goto-char (point-max))
       (byte-compile-warning-prefix nil nil)
       (cond (noninteractive
-            (byte-compile--message " %s" string))
+            (message " %s" string))
            (t
             (insert (format "%s\n" string)))))))
 
@@ -1600,10 +1590,7 @@ extra args."
   "Recompile every `.el' file in DIRECTORY that already has a `.elc' file.
 Files in subdirectories of DIRECTORY are processed also."
   (interactive "DByte force recompile (directory): ")
-  (let ((byte-compile--interactive
-         (or byte-compile--interactive
-             (called-interactively-p 'any))))
-    (byte-recompile-directory directory nil t)))
+  (byte-recompile-directory directory nil t))
 
 ;;;###autoload
 (defun byte-recompile-directory (directory &optional arg force)
@@ -1633,9 +1620,6 @@ that already has a `.elc' file."
       (compilation-mode))
     (let ((directories (list default-directory))
          (default-directory default-directory)
-          (byte-compile--interactive
-           (or byte-compile--interactive
-               (called-interactively-p 'any)))
          (skip-count 0)
          (fail-count 0)
          (file-count 0)
@@ -1644,7 +1628,7 @@ that already has a `.elc' file."
       (displaying-byte-compile-warnings
        (while directories
         (setq directory (car directories))
-        (byte-compile--message "Checking %s..." directory)
+        (message "Checking %s..." directory)
          (dolist (file (directory-files directory))
            (let ((source (expand-file-name file directory)))
             (if (file-directory-p source)
@@ -1669,13 +1653,13 @@ that already has a `.elc' file."
                              (`t file-count)
                              (_ fail-count)))
                           (or noninteractive
-                              (byte-compile--message "Checking %s..." 
directory))
+                              (message "Checking %s..." directory))
                           (if (not (eq last-dir directory))
                               (setq last-dir directory
                                     dir-count (1+ dir-count)))
                           )))))
         (setq directories (cdr directories))))
-      (byte-compile--message "Done (Total of %d file%s compiled%s%s%s)"
+      (message "Done (Total of %d file%s compiled%s%s%s)"
               file-count (if (= file-count 1) "" "s")
               (if (> fail-count 0) (format ", %d failed" fail-count) "")
               (if (> skip-count 0) (format ", %d skipped" skip-count) "")
@@ -1722,10 +1706,7 @@ If compilation is needed, this functions returns the 
result of
           current-prefix-arg)))
   (let ((dest (byte-compile-dest-file filename))
         ;; Expand now so we get the current buffer's defaults
-        (filename (expand-file-name filename))
-        (byte-compile--interactive
-         (or byte-compile--interactive
-             (called-interactively-p 'any))))
+        (filename (expand-file-name filename)))
     (if (if (file-exists-p dest)
             ;; File was already compiled
             ;; Compile if forced to, or filename newer
@@ -1737,7 +1718,7 @@ If compilation is needed, this functions returns the 
result of
                                      filename "? ")))))
         (progn
           (if (and noninteractive (not byte-compile-verbose))
-              (byte-compile--message "Compiling %s..." filename))
+              (message "Compiling %s..." filename))
           (byte-compile-file filename load))
       (when load
        (load (if (file-exists-p dest) dest filename)))
@@ -1781,9 +1762,6 @@ The value is non-nil if there were no errors, nil if 
errors."
   (let ((byte-compile-current-file filename)
         (byte-compile-current-group nil)
        (set-auto-coding-for-load t)
-        (byte-compile--interactive
-         (or byte-compile--interactive
-             (called-interactively-p 'any)))
        target-file input-buffer output-buffer
        byte-compile-dest-file)
     (setq target-file (byte-compile-dest-file filename))
@@ -1839,14 +1817,14 @@ The value is non-nil if there were no errors, nil if 
errors."
          ;;       (byte-compile-abbreviate-file filename)
          ;;       (with-current-buffer input-buffer no-byte-compile))
          (when (file-exists-p target-file)
-           (byte-compile--message "%s deleted because of `no-byte-compile: %s'"
+           (message "%s deleted because of `no-byte-compile: %s'"
                     (byte-compile-abbreviate-file target-file)
                     (buffer-local-value 'no-byte-compile input-buffer))
            (condition-case nil (delete-file target-file) (error nil)))
          ;; We successfully didn't compile this file.
          'no-byte-compile)
       (when byte-compile-verbose
-       (byte-compile--message "Compiling %s..." filename))
+       (message "Compiling %s..." filename))
       (setq byte-compiler-error-flag nil)
       ;; It is important that input-buffer not be current at this call,
       ;; so that the value of point set in input-buffer
@@ -1858,7 +1836,7 @@ The value is non-nil if there were no errors, nil if 
errors."
       (if byte-compiler-error-flag
          nil
        (when byte-compile-verbose
-         (byte-compile--message "Compiling %s...done" filename))
+         (message "Compiling %s...done" filename))
        (kill-buffer input-buffer)
        (with-current-buffer output-buffer
          (goto-char (point-max))
@@ -1884,7 +1862,7 @@ The value is non-nil if there were no errors, nil if 
errors."
                ;; recompiled).  Previously this was accomplished by
                ;; deleting target-file before writing it.
                (rename-file tempfile target-file t)
-               (or noninteractive (byte-compile--message "Wrote %s" 
target-file)))
+               (or noninteractive (message "Wrote %s" target-file)))
            ;; This is just to give a better error message than write-region
            (signal 'file-error
                    (list "Opening output file"
@@ -1918,9 +1896,6 @@ With argument ARG, insert value in current buffer after 
the form."
           (byte-compile-read-position (point))
           (byte-compile-last-position byte-compile-read-position)
           (byte-compile-last-warned-form 'nothing)
-           (byte-compile--interactive
-            (or byte-compile--interactive
-                (called-interactively-p 'any)))
           (value (eval
                   (let ((read-with-symbol-positions (current-buffer))
                         (read-symbol-positions-list nil))
@@ -1928,10 +1903,10 @@ With argument ARG, insert value in current buffer after 
the form."
                      (byte-compile-sexp (read (current-buffer)))))
                    lexical-binding)))
       (cond (arg
-            (byte-compile--message "Compiling from buffer... done.")
+            (message "Compiling from buffer... done.")
             (prin1 value (current-buffer))
             (insert "\n"))
-           ((byte-compile--message "%s" (prin1-to-string value)))))))
+           ((message "%s" (prin1-to-string value)))))))
 
 (defun byte-compile-from-buffer (inbuffer)
   (let ((byte-compile-current-buffer inbuffer)
@@ -2435,7 +2410,7 @@ not to take responsibility for the actual compilation of 
the code."
         (byte-compile-arglist-warn name arglist macro))
 
     (if byte-compile-verbose
-        (byte-compile--message "Compiling %s... (%s)"
+        (message "Compiling %s... (%s)"
                  (or byte-compile-current-file "") name))
     (cond ((not (or macro (listp body)))
            ;; We do not know positively if the definition is a macro
@@ -2605,7 +2580,7 @@ If FORM is a lambda or a macro, byte-compile it as a 
function."
        ;; error to a simple message for the known case where signaling an error
        ;; causes problems.
        ((byte-code-function-p fun)
-        (byte-compile--message "Function %s is already compiled"
+        (message "Function %s is already compiled"
                  (if (symbolp form) form "provided"))
         fun)
        (t
@@ -4423,8 +4398,8 @@ binding slots have been popped."
                   name macro arglist body rest)
            (when macro
              (if (null fun)
-                 (byte-compile--message "Macro %s unrecognized, won't work in 
file" name)
-               (byte-compile--message "Macro %s partly recognized, trying our 
luck" name)
+                 (message "Macro %s unrecognized, won't work in file" name)
+               (message "Macro %s partly recognized, trying our luck" name)
                (push (cons name (eval fun))
                      byte-compile-macro-environment)))
            (byte-compile-keep-pending form))))
@@ -4550,11 +4525,11 @@ The call tree also lists those functions which are not 
known to be called
 \(that is, to which no calls have been compiled\), and which cannot be
 invoked interactively."
   (interactive)
-  (byte-compile--message "Generating call tree...")
+  (message "Generating call tree...")
   (with-output-to-temp-buffer "*Call-Tree*"
     (set-buffer "*Call-Tree*")
     (erase-buffer)
-    (byte-compile--message "Generating call tree... (sorting on %s)"
+    (message "Generating call tree... (sorting on %s)"
             byte-compile-call-tree-sort)
     (insert "Call tree for "
            (cond ((null byte-compile-current-file) (or filename "???"))
diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el
index 92d7234..bf3f442 100644
--- a/lisp/emacs-lisp/eieio-core.el
+++ b/lisp/emacs-lisp/eieio-core.el
@@ -730,7 +730,7 @@ Argument FN is the function calling this verifier."
   (cl-check-type slot symbol)
   (cl-check-type obj (or eieio-object class))
   (let* ((class (cond ((symbolp obj)
-                       (error "eieio-oref called on a class!")
+                       (error "eieio-oref called on a class: %s" obj)
                        (let ((c (eieio--class-v obj)))
                          (if (eieio--class-p c) (eieio-class-un-autoload obj))
                          c))
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el
index 384fef5..8dc8261 100644
--- a/lisp/emacs-lisp/ert.el
+++ b/lisp/emacs-lisp/ert.el
@@ -269,7 +269,7 @@ DATA is displayed to the user and should state the reason 
for skipping."
 (defun ert--special-operator-p (thing)
   "Return non-nil if THING is a symbol naming a special operator."
   (and (symbolp thing)
-       (let ((definition (ignore-errors (indirect-function thing))))
+       (let ((definition (indirect-function thing)))
          (and (subrp definition)
               (eql (cdr (subr-arity definition)) 'unevalled)))))
 
diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el
index 978c3f0..5a81bb2 100644
--- a/lisp/emacs-lisp/pcase.el
+++ b/lisp/emacs-lisp/pcase.el
@@ -91,6 +91,10 @@
 
 (def-edebug-spec pcase-MACRO pcase--edebug-match-macro)
 
+;; Only called from edebug.
+(declare-function get-edebug-spec "edebug" (symbol))
+(declare-function edebug-match "edebug" (cursor specs))
+
 (defun pcase--edebug-match-macro (cursor)
   (let (specs)
     (mapatoms
@@ -158,12 +162,18 @@ Currently, the following patterns are provided this way:"
         ;; (puthash (car cases) `(,exp ,cases ,@expansion) pcase--memoize-2)
         expansion))))
 
+(declare-function help-fns--signature "help-fns"
+                  (function doc real-def real-function))
+
 ;; FIXME: Obviously, this will collide with nadvice's use of
 ;; function-documentation if we happen to advise `pcase'.
 (put 'pcase 'function-documentation '(pcase--make-docstring))
 (defun pcase--make-docstring ()
   (let* ((main (documentation (symbol-function 'pcase) 'raw))
          (ud (help-split-fundoc main 'pcase)))
+    ;; So that eg emacs -Q -l cl-lib --eval "(documentation 'pcase)" works,
+    ;; where cl-lib is anything using pcase-defmacro.
+    (require 'help-fns)
     (with-temp-buffer
       (insert (or (cdr ud) main))
       (mapatoms
diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el
index 2f3f519..456debf 100644
--- a/lisp/emacs-lisp/seq.el
+++ b/lisp/emacs-lisp/seq.el
@@ -344,6 +344,7 @@ This is an optimization for lists in `seq-take-while'."
 (defalias 'seq-do #'mapc)
 (defalias 'seq-each #'seq-do)
 (defalias 'seq-map #'mapcar)
+(defalias 'seq-p #'sequencep)
 
 (unless (fboundp 'elisp--font-lock-flush-elisp-buffers)
   ;; In Emacs≥25, (via elisp--font-lock-flush-elisp-buffers and a few others)
diff --git a/lisp/files.el b/lisp/files.el
index 045eeaf..ef6ac7b 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -654,10 +654,14 @@ the value of `default-directory'."
                  'file-directory-p))
 
 
-(defun pwd ()
-  "Show the current default directory."
-  (interactive nil)
-  (message "Directory %s" default-directory))
+(defun pwd (&optional insert)
+  "Show the current default directory.
+With prefix argument INSERT, insert the current default directory
+at point instead."
+  (interactive "P")
+  (if insert
+      (insert default-directory)
+    (message "Directory %s" default-directory)))
 
 (defvar cd-path nil
   "Value of the CDPATH environment variable, as a list.
diff --git a/lisp/isearch.el b/lisp/isearch.el
index c714ba0..dc10502 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -452,7 +452,7 @@ This is like `describe-bindings', but displays only Isearch 
keys."
     (define-key map "\M-\C-s" 'isearch-repeat-forward)
     (define-key map "\M-\C-r" 'isearch-repeat-backward)
     (define-key map "\177" 'isearch-delete-char)
-    (define-key map [backspace] 'isearch-delete-char)
+    (define-key map [backspace] 'undefined) ;bug#20466.
     (define-key map "\C-g" 'isearch-abort)
 
     ;; This assumes \e is the meta-prefix-char.
diff --git a/lisp/progmodes/cmacexp.el b/lisp/progmodes/cmacexp.el
index 357625d..19d0473 100644
--- a/lisp/progmodes/cmacexp.el
+++ b/lisp/progmodes/cmacexp.el
@@ -364,8 +364,8 @@ Optional arg DISPLAY non-nil means show messages in the 
echo area."
            ;; Find and delete the mark of the start of the expansion.
            ;; Look for `# nn "file.c"' lines and delete them.
            (goto-char (point-min))
-           (search-forward startmarker)
-           (delete-region 1 (point)))
+            (if (search-forward startmarker nil t)
+                (delete-region 1 (point))))
          (while (re-search-forward (concat "^# [0-9]+ \""
                                            (regexp-quote filename)
                                            "\"") nil t)
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index f289068..2bb661a 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -587,6 +587,8 @@ It can be quoted, or be inside a quoted form."
       (let ((sym (intern-soft id)))
         (when sym
           (elisp--xref-find-definitions sym))))
+    (`references
+     (elisp--xref-find-references id))
     (`apropos
      (elisp--xref-find-apropos id))))
 
@@ -635,6 +637,25 @@ It can be quoted, or be inside a quoted form."
              lst))))
       lst)))
 
+(defun elisp--xref-find-references (symbol)
+  (let* ((dirs (sort
+                (mapcar
+                 (lambda (dir)
+                   (file-name-as-directory (expand-file-name dir)))
+                 (cons package-user-dir load-path))
+                #'string<))
+         (ref dirs))
+    ;; Delete subdirectories from the list.
+    (while (cdr ref)
+      (if (string-prefix-p (car ref) (cadr ref))
+          (setcdr ref (cddr ref))
+        (setq ref (cdr ref))))
+    (cl-mapcan
+     (lambda (dir)
+       (and (file-exists-p dir)
+            (xref-collect-references symbol dir)))
+     dirs)))
+
 (defun elisp--xref-find-apropos (regexp)
   (apply #'nconc
          (let (lst)
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index b4ce8b1..4e923aa 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -2082,6 +2082,15 @@ for \\[find-tag] (which see)."
 (defun etags-xref-find (action id)
   (pcase action
     (`definitions (etags--xref-find-definitions id))
+    (`references
+     (let ((dirs (if tags-table-list
+                     (mapcar #'file-name-directory tags-table-list)
+                   ;; If no tags files are loaded, prompt for the dir.
+                   (list (read-directory-name "In directory: " nil nil t)))))
+       (cl-mapcan
+        (lambda (dir)
+          (xref-collect-references id dir))
+        dirs)))
     (`apropos (etags--xref-find-definitions id t))))
 
 (defun etags--xref-find-definitions (pattern &optional regexp?)
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index fc27c26..099c080 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -674,6 +674,49 @@ and just use etags."
     (setq-local xref-identifier-completion-table-function
                 (cdr xref-etags-mode--saved))))
 
+(declare-function semantic-symref-find-references-by-name "semantic/symref")
+(declare-function semantic-find-file-noselect "semantic/fw")
+
+(defun xref-collect-references (name dir)
+  "Collect mentions of NAME inside DIR.
+Uses the Semantic Symbol Reference API, see
+`semantic-symref-find-references-by-name' for details on which
+tools are used, and when."
+  (require 'semantic/symref)
+  (defvar semantic-symref-tool)
+  (cl-assert (directory-name-p dir))
+  (let* ((default-directory dir)
+         (semantic-symref-tool 'detect)
+         (res (semantic-symref-find-references-by-name name 'subdirs))
+         (hits (and res (oref res :hit-lines)))
+         (orig-buffers (buffer-list)))
+    (unwind-protect
+        (delq nil
+              (mapcar (lambda (hit) (xref--collect-reference hit name)) hits))
+      (mapc #'kill-buffer
+            (cl-set-difference (buffer-list) orig-buffers)))))
+
+(defun xref--collect-reference (hit name)
+  (pcase-let* ((`(,line . ,file) hit)
+               (buf (or (find-buffer-visiting file)
+                        (semantic-find-file-noselect file))))
+    (with-current-buffer buf
+      (save-excursion
+        (goto-char (point-min))
+        (forward-line (1- line))
+        (when (re-search-forward (format "\\_<%s\\_>"
+                                         (regexp-quote name))
+                                 (line-end-position) t)
+          (goto-char (match-beginning 0))
+          (xref-make (format
+                      "%d: %s"
+                      line
+                      (buffer-substring
+                       (line-beginning-position)
+                       (line-end-position)))
+                     (xref-make-file-location file line
+                                              (current-column))))))))
+
 
 (provide 'xref)
 
diff --git a/lisp/simple.el b/lisp/simple.el
index cf1912a..31efe38 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -6992,8 +6992,9 @@ The function should return non-nil if the two tokens do 
not match.")
                     (buffer-substring blinkpos (1+ blinkpos))))
                   ;; There is nothing to show except the char itself.
                   (t (buffer-substring blinkpos (1+ blinkpos))))))
-            (message "Matches %s"
-                     (substring-no-properties open-paren-line-string)))))))))
+            (minibuffer-message
+             "Matches %s"
+             (substring-no-properties open-paren-line-string)))))))))
 
 (defvar blink-paren-function 'blink-matching-open
   "Function called, if non-nil, whenever a close parenthesis is inserted.
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index b4cd67f..fad3e2f 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -538,31 +538,34 @@ cleaning up a buffer.  See `whitespace-cleanup' and
 `whitespace-cleanup-region' for documentation.
 
 See also `whitespace-display-mappings' for documentation."
-  :type '(repeat :tag "Kind of Blank"
-                (choice :tag "Kind of Blank Face"
-                        (const :tag "(Face) Face visualization"
-                               face)
-                        (const :tag "(Face) Trailing TABs, SPACEs and HARD 
SPACEs"
-                               trailing)
-                        (const :tag "(Face) SPACEs and HARD SPACEs"
-                               spaces)
-                        (const :tag "(Face) TABs" tabs)
-                        (const :tag "(Face) Lines" lines)
-                        (const :tag "(Face) SPACEs before TAB"
-                               space-before-tab)
-                        (const :tag "(Face) NEWLINEs" newline)
-                        (const :tag "(Face) Indentation SPACEs"
-                               indentation)
-                        (const :tag "(Face) Too much line indentation"
-                               big-indent)
-                        (const :tag "(Face) Empty Lines At BOB And/Or EOB"
-                               empty)
-                        (const :tag "(Face) SPACEs after TAB"
-                               space-after-tab)
-                        (const :tag "(Mark) SPACEs and HARD SPACEs"
-                               space-mark)
-                        (const :tag "(Mark) TABs" tab-mark)
-                        (const :tag "(Mark) NEWLINEs" newline-mark)))
+  :type '(set :tag "Kind of Blank"
+              (const :tag "(Face) Face visualization" face)
+              (const :tag "(Face) Trailing TABs, SPACEs and HARD SPACEs"
+                     trailing)
+              (const :tag "(Face) TABs" tabs)
+              (const :tag "(Face) SPACEs and HARD SPACEs" spaces)
+              (const :tag "(Face) Lines" lines)
+              (const :tag "(Face) Lines, only overlong part" lines-tail)
+              (const :tag "(Face) NEWLINEs" newline)
+              (const :tag "(Face) Empty Lines At BOB And/Or EOB" empty)
+              (const :tag "(Face) Indentation SPACEs" indentation::tab)
+              (const :tag "(Face) Indentation TABs"
+                     indentation::space)
+              (const :tag "(Face) Indentation TABs or SPACEs" indentation)
+              (const :tag "(Face) Too much line indentation" big-indent)
+              (const :tag "(Face) SPACEs after TAB: SPACEs"
+                     space-after-tab::tab)
+              (const :tag "(Face) SPACEs after TAB: TABs"
+                     space-after-tab::space)
+              (const :tag "(Face) SPACEs after TAB" space-after-tab)
+              (const :tag "(Face) SPACEs before TAB: SPACEs"
+                     space-before-tab::tab)
+              (const :tag "(Face) SPACEs before TAB: TABs"
+                     space-before-tab::space)
+              (const :tag "(Face) SPACEs before TAB" space-before-tab)
+              (const :tag "(Mark) SPACEs and HARD SPACEs" space-mark)
+              (const :tag "(Mark) TABs" tab-mark)
+              (const :tag "(Mark) NEWLINEs" newline-mark))
   :group 'whitespace)
 
 (defvar whitespace-space 'whitespace-space
diff --git a/test/automated/cl-lib-tests.el b/test/automated/cl-lib-tests.el
index ce0e591..ece1d45 100644
--- a/test/automated/cl-lib-tests.el
+++ b/test/automated/cl-lib-tests.el
@@ -422,6 +422,47 @@
     ;; should return a copy
     (should-not (eq (cl-ldiff l '()) l))))
 
+(ert-deftest cl-lib-adjoin-test ()
+  (let ((nums '(1 2))
+        (myfn-p '=))
+    ;; add non-existing item to the front
+    (should (equal '(3 1 2) (cl-adjoin 3 nums)))
+    ;; just add - don't copy rest
+    (should (eq nums (cdr (cl-adjoin 3 nums))))
+    ;; add only when not already there
+    (should (eq nums (cl-adjoin 2 nums)))
+    (should (equal '(2 1 (2)) (cl-adjoin 2 '(1 (2)))))
+    ;; default test function is eql
+    (should (equal '(1.0 1 2) (cl-adjoin 1.0 nums)))
+    ;; own :test function - returns true if match
+    (should (equal '(1.0 1 2) (cl-adjoin 1.0 nums :test nil))) ;defaults to eql
+    (should (eq nums (cl-adjoin 2 nums :test myfn-p))) ;match
+    (should (equal '(3 1 2) (cl-adjoin 3 nums :test myfn-p))) ;no match
+    ;; own :test-not function - returns false if match
+    (should (equal '(1.0 1 2) (cl-adjoin 1.0 nums :test-not nil))) ;defaults 
to eql
+    (should (equal '(2 2) (cl-adjoin 2 '(2) :test-not myfn-p))) ; no match
+    (should (eq nums (cl-adjoin 2 nums :test-not myfn-p))) ; 1 matches
+    (should (eq nums (cl-adjoin 3 nums :test-not myfn-p))) ; 1 and 2 matches
+
+    ;; according to CLTL2 passing both :test and :test-not should signal error
+    ;;(should-error (cl-adjoin 3 nums :test 'myfn-p :test-not myfn-p))
+
+    ;; own :key fn
+    (should (eq nums (cl-adjoin 3 nums :key (lambda (x) (if (cl-evenp x) (1+ 
x) x)))))
+    (should (equal '(3 1 2) (cl-adjoin 3 nums :key (lambda (x) (if (cl-evenp 
x) (+ 2 x) x)))))
+
+    ;; convert using :key, then compare with :test
+    (should (eq nums (cl-adjoin 1 nums :key 'int-to-string :test 'string=)))
+    (should (equal '(3 1 2) (cl-adjoin 3 nums :key 'int-to-string :test 
'string=)))
+    (should-error (cl-adjoin 3 nums :key 'int-to-string :test myfn-p)
+                  :type 'wrong-type-argument)
+
+    ;; convert using :key, then compare with :test-not
+    (should (eq nums (cl-adjoin 3 nums :key 'int-to-string :test-not 
'string=)))
+    (should (equal '(1 1) (cl-adjoin 1 '(1) :key 'int-to-string :test-not 
'string=)))
+    (should-error (cl-adjoin 1 nums :key 'int-to-string :test-not myfn-p)
+                  :type 'wrong-type-argument)))
+
 (ert-deftest cl-parse-integer ()
   (should-error (cl-parse-integer "abc"))
   (should (null (cl-parse-integer "abc" :junk-allowed t)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]